关于vc的纯虚函数和虚函数

刚开始学vc有个问题 看书老是不能全理解 ,就是:

父类中如果有个纯虚函数 在父类中这个纯虚函数是不进行定义的 ,就声明了一下,他必须要子类来继承重写才能用,那何必有纯虚函数了,在子类中我重新定义一个函数就行了 何必继承父类的虚函数呢
...全文
250 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
piaoxu7777777 2010-11-23
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 vivvan 的回复:]

引用 8 楼 chenjiawei007 的回复:
纯虚函数是为了构建base类的,
一个好的项目,要有好的类层次,纯虚函数提供的就是接口,
如果你不明白纯虚函数的作用,同样不明白接口的价值吧。
C语言注重效率,C++更大的优势在于类的结构,易于扩展。

一些小项目其实并不体现接口的价值,
但是随着项目功能的增多,一味的只是添加代码,只会让项目变得越来越臃肿。
虽然自己还没到能够……
[/Quote]
同意
vivvan 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 chenjiawei007 的回复:]
纯虚函数是为了构建base类的,
一个好的项目,要有好的类层次,纯虚函数提供的就是接口,
如果你不明白纯虚函数的作用,同样不明白接口的价值吧。
C语言注重效率,C++更大的优势在于类的结构,易于扩展。

一些小项目其实并不体现接口的价值,
但是随着项目功能的增多,一味的只是添加代码,只会让项目变得越来越臃肿。
虽然自己还没到能够架构一个大项目的能力,但在做项目维护时,
明显感觉到,……
[/Quote]


同意哈。。。。
radiohead001 2010-11-18
  • 打赏
  • 举报
回复
顶,接口
liyelun 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 chenjiawei007 的回复:]
纯虚函数是为了构建base类的,
一个好的项目,要有好的类层次,纯虚函数提供的就是接口,
如果你不明白纯虚函数的作用,同样不明白接口的价值吧。
C语言注重效率,C++更大的优势在于类的结构,易于扩展。

一些小项目其实并不体现接口的价值,
但是随着项目功能的增多,一味的只是添加代码,只会让项目变得越来越臃肿。
虽然自己还没到能够架构一个大项目的能力,但在做项目维护时,
明显感觉到,……
[/Quote]
chenjiawei007 2010-11-18
  • 打赏
  • 举报
回复
纯虚函数是为了构建base类的,
一个好的项目,要有好的类层次,纯虚函数提供的就是接口,
如果你不明白纯虚函数的作用,同样不明白接口的价值吧。
C语言注重效率,C++更大的优势在于类的结构,易于扩展。

一些小项目其实并不体现接口的价值,
但是随着项目功能的增多,一味的只是添加代码,只会让项目变得越来越臃肿。
虽然自己还没到能够架构一个大项目的能力,但在做项目维护时,
明显感觉到,一个项目没有好的架构,后期维护,加新功能,很吃力。
兔子-顾问 2010-11-18
  • 打赏
  • 举报
回复
虚函数的目的是实现多态。
虚函数可以让你忽略具体类,用基类编程,非虚函数则一直要关心当前的指针是什么类型的,不同类型指针执行方法不同,虚函数让你任意类型的指针都可以根据实例化时的对象类型调用唯一方法。
zyyoung 2010-11-17
  • 打赏
  • 举报
回复
这里面学问多了:抽象,接口,回调,oo思想...
逸萌 2010-11-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hgy413 的回复:]
纯虚函数强制了子类继承这个函数,纯虚函数不能实例化为对象,所以它的大小只为指针的大小。
[/Quote]up
花熊 2010-11-17
  • 打赏
  • 举报
回复
纯虚函数强制了子类继承这个函数,纯虚函数不能实例化为对象,所以它的大小只为指针的大小。
licaiyuren 2010-11-17
  • 打赏
  • 举报
回复
哈哈,你说的也是,如果只有一个子类的话,就是多次一举。
但是,实际应用中父类会有多个子类,多个子类的某个函数名字又是相同的(为了程序的可读,有共同的特征),
但是这个函数的输出结果又是不同的,在每个子类中。问题出来了,怎么办啊?
就用虚函数了,进行重载。
mayudong1 2010-11-17
  • 打赏
  • 举报
回复
纯虚函数的意思就是子类必须去实现的,这样就强制了子类会有这个函数,而且在子类中定义一个函数就没有了虚函数的性质了
羽飞 2010-11-17
  • 打赏
  • 举报
回复
纯虚函数可以防止父类实例化,而且强制子类必须实现,虚函数和纯虚函数都可以实现多态的特性
纯虚函数也可以有实现
如果仅仅接触语言可能不太好理解,看看面向对象的软件工程也许会理解的更好一些
时间长了就能理解了,我理解的也不是太好

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧