参数在编译器决定
来源:互联网 发布:雨伞 淘宝 编辑:程序博客网 时间:2024/04/26 19:21
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;}A:A->0B:B->1C:A->1D:B->0
答案:B
解析:由于p指向了继承类B的对象,所以,在调用A中的test之后,虚函数func()会调用继承类B的函数,而默认形参仍然会使用test所在的类A的形参1,从而输出B->1。
**以上来自julyedu:http://ask.julyedu.com/question/704
由于参数是在编译期就已经决定的,因此参数应该取A得形参1.
0 0
- 参数在编译器决定
- 缺省参数是在编译期决定的
- 编译器如何决定变量长度
- 决定在这里住下来!!!
- 决定在CSDN成家
- action请求参数决定结果
- flex 编译器 参数
- GCC编译器参数
- GCC编译器相关参数
- GNU GCC编译器参数
- 编译器的一些参数
- GCC编译器参数
- VC编译器参数介绍
- GCC编译器参数
- flex编译器参数
- Flex编译器参数一览
- Flex编译器参数
- VC编译器参数介绍
- 黑马程序员——CSS
- C++11 auto和decltype推导规则
- Mysql字符转义
- 乱七八糟记事本
- POJ_1742 Coins(DP)
- 参数在编译器决定
- Android的Tween动画与控制动画的Interpolator
- PHP之——官方手册下载地址
- 【POJ2289】【多重匹配】【二分】【模板】
- 在配置Grunt的Task时通配符支持和动态生成文件名详解
- 游戏里的 BOSS 每天都在干嘛?不寂寞吗?
- Tarjan算法求解最近公共祖先问题
- n级台阶问题
- Android四种存储方式 sharedpreference,file,SQlite,contentprovider实现增删改查