缺省参数
2016-04-19 16:45
375 查看
缺省参数是静态绑定的。所以,永远记住:
绝不重新定义继承而来的缺省参数
举例:
B*p = new B;
先调用A的构造函数然后调用B的构造函数
p->test();
调用A中的test()
然后调用A中的func()
但是由于缺省参数是静态绑定的所以val的默认值仍然是B中func()的初始值1。
所以输出的结果是B->1.
绝不重新定义继承而来的缺省参数
举例:
class A { public: virtual void func(int val = 1) { std::cout<<"A->"<<val <<std::endl;} virtual void test() { func();} }; class B : public A { public: void func(int val=0) {std::cout<<"B->"<<val <<std::endl;} }; int main(int argc ,char* argv[]) { B*p = new B; p->test(); return 0; }
B*p = new B;
先调用A的构造函数然后调用B的构造函数
p->test();
调用A中的test()
然后调用A中的func()
但是由于缺省参数是静态绑定的所以val的默认值仍然是B中func()的初始值1。
所以输出的结果是B->1.
相关文章推荐
- 内核驱动之module_init
- nyoj32 组合数 深搜版
- CSS3 Gradient
- 获取版本号、获取手机型号
- make menuconfig时出现 #include CURSES_LOC错误
- 《机电传动控制》第八周作业
- Mongodb索引实战
- Django若干新版本一些新特性
- android线程相关
- wxPython 图形界面程序时 多个显示器问题。
- BLE 应用解释
- 睡觉被憋醒
- Sum it up (欧拉函数)
- IOS开发Swift使用NSURLSessionUploadTask实现后台上传功能
- Android 天气预报(2)
- 创建快捷图标
- 基于wpa_supplicant库的WIFI连接功能实现--wpa_cli命令解析
- 睡觉被憋醒
- npm 和 bower的区别
- 使用PHPMailer实现邮件发送代码分享