社区
C++ 语言
帖子详情
虚函数和纯虚函数
juqi777
2006-11-01 05:50:41
为什么要在基类中定义纯虚函数,可以用空的虚函数来定义吗,两者有何不同?
虚函数和纯虚函数都可以给派生类进行重载的啊!
...全文
452
10
打赏
收藏
虚函数和纯虚函数
为什么要在基类中定义纯虚函数,可以用空的虚函数来定义吗,两者有何不同? 虚函数和纯虚函数都可以给派生类进行重载的啊!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiao_potato
2006-11-02
打赏
举报
回复
可以用空的虚函数来定义吗?
========================
如果是普通的函数,是可以不定义的,当然如果调用了这个函数,编译器是会提示链接错误的。
如果是虚函数,给出了声明,不给出定义。编译器是会提示链接错误的。至少我的VC6是这样。
就算可以链接通过,也是有区别的。那就是可以定义基类的实例,当然前提是你不能通过这个实例去调用这个未定义的函数。
而纯虚函数,是不可以对这个抽象基类实例化的。
dfkoko
2006-11-01
打赏
举报
回复
ls正解
OOPhaisky
2006-11-01
打赏
举报
回复
纯虚函数 不等于 空的虚函数!!
纯虚函数代表抽象类,不能实例化,而空的虚函数就是一般的虚函数,只不过函数体为空而已。
fflush
2006-11-01
打赏
举报
回复
当你设计一个framework的时候,使用pure virtual function可以使设计更规范,防止一些不正确的使用,在一般的应用下,你用一个空的虚函数和纯虚函数并没有多大区别。这个问题需要上升到设计层面才有讨论的意义
mimong_lin
2006-11-01
打赏
举报
回复
非要用一个空的虚函数的话,那LZ的话题就变质了。
纯虚函数就是让类不能实例化。LZ硬要的话,就是不遵守这个规则了,我们也没办法。
terry_xss
2006-11-01
打赏
举报
回复
那如果我非要用一个空的虚函数来定义有什么不同吗?
不同就是这样可以实例化,用纯虚函数不能实例化
wjwjwj
2006-11-01
打赏
举报
回复
你可以用一个空的虚函数来定义,这意味着你的类不是纯虚类,因而可以被实例化。另外,如果你使用纯虚函数,则在你的派生类中一定要实现这个函数,否则,你的派生类也无法被实例化。
lw1a2
2006-11-01
打赏
举报
回复
有纯虚的类不能:
A a;//A为类
juqi777
2006-11-01
打赏
举报
回复
那如果我非要用一个空的虚函数来定义有什么不同吗?
lann64
2006-11-01
打赏
举报
回复
纯虚函数的一个重要用途是让这个类不能实例化。
C++_
虚
函数
和
纯
虚
函数
区别(高清版).rar
虚
函数
和
纯
虚
函数
的理解区别,最重要的是知道
虚
函数
和
纯
虚
函数
的用法
虚
函数
和
纯
虚
函数
.pdf
虚
函数
和
纯
虚
函数
.pdf
C++中的
虚
函数
和
纯
虚
函数
用法(ZT)
本文主要介绍了 C++中的
虚
函数
和
纯
虚
函数
用法(ZT)。
C++中
虚
函数
和
纯
虚
函数
区别[归类].pdf
C++中
虚
函数
和
纯
虚
函数
区别[归类].pdf
普通
函数
,
虚
函数
,
纯
虚
函数
的区别
c++普通
函数
,
虚
函数
,
纯
虚
函数
的区别
C++ 语言
64,676
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章