基类中定义的虚函数在派生类中重新定义时,其函数原型,包括返回类型、函数名、参数个数、参数类型及参数的先后顺序,都必须与基类中的原型完全相同 but------> 可以返回派生类对象的引用或指针
《Primer》第4版 收藏
|
楼主 发表于: 2012-03-23 19:18:37
“基类中定义的虚函数在派生类中重新定义时,其函数原型,包括返回类型、函数名、参数个数、参数类型及参数的先后顺序,都必须与基类中的原型完全相同” 上面这句话我是在网上搜到的。 假定Derived继承Base,并且Base将下面的函数定义为虚函数,假定Derived打算定义自己的这个虚函数的版本,确定在Derived中哪个声明是错误的,并指出为什么错。 习题15.25的答案: 请问b 返回类型不同 更多 分享到: |
|
#1 回复于: 再好好看看书吧! |
|
#2 回复于: “基类中定义的虚函数在派生类中重新定义时,其函数原型,包括返回类型、函数名、参数个数、参数类型及参数的先后顺序,都必须与基类中的原型完全相同” 这句话本来就有问题··· |
|
#3 回复于: 如果你在看primer ,建议把p477再看一下···引用 2 楼 lanfeng_10 的回复:
|
|
#4 回复于: 修正下,应该是可以返回派生类对象的引用或指针
|
|
#5 回复于: 这几个问题还狠有点意思,错误的应该是a,d |
|
#6 回复于:
该回复于2012-03-26 08:55:34被版主删除
|
管理 |
#7 回复于: 引用 5 楼 qscool1987 的回复:
想问一下 effective c++第几个条款有提到静态绑定了 |
|
|
#8 回复于: PRIMER p502 AND P477 class Base class Derive:public Base int main() int foo() 因此派生类中的foo()并不是继承自基类的虚函数,而是把基类的虚函数给屏蔽了。P477说:如果派生类中没有重定义某个虚函数,则使用基类的版本,因此第二个动态绑定调用的是基类的虚函数版本。 因此可以这样引申:在派生类中重新定义基类中的虚函数就OK. class Base class Derive:public Base int foo()//和上面的虚函数构成重载 int main() |
本帖子已过去太久远了,不再提供回复功能。
最新文章
- HAproxy的安装与配置讲解
- 算法:KMP算法
- 日志工具logback的简介与配置
- Ext入门的第一个程序(1)
- recvmsg和sendmsg函数
- 玩转无线 — GNURADIO 简单运用
- C#中的委托到底是什么概念??
- Smarty学习笔记(一)
- CentOS命令登录MySQL时,报错ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)错误解决方法
- Failed to install gems via Bundler
- 可视化-echarts流向图制作
- OneNET麒麟座应用开发之五:获取加速度传感器ADXL345数据
- 2014年蓝桥杯省赛A组c++第3题(数组构造+暴力求解)
- ES6 学习笔记(整理一遍阮一峰大神得入门文档,纯自己理解使用)
- SpringBoot结合Swagger2自动生成api文档
- Python接口自动化--post提交的四种数据类型 4
- Visual Studio 2015的安装和简单的单元测试
- Linux软硬连接
- Linux安装最新版Mono,Jexus(截至2015年12月30日)
- Python3.x(windows系统)安装libxml2库