因此虚函数在构造函数中,已经失去了虚函数的动态绑定特性。解确定缺省参数的值是在编译的时候
来源:互联网 发布:java中接口 编辑:程序博客网 时间:2024/06/06 04:40
因此虚函数在构造函数中,已经失去了虚函数的动态绑定特性。
class A
{
public:
A()
{
Print();
}
virtual void Print()
{
printf("A is constructed./n");
}
};
class B: public A
{
public:
B()
{
Print();
}
virtual void Print()
{
printf("B is constructed./n");
}
};
int _tmain(int argc, _TCHAR* argv[])
{
A* pA = new B();
delete pA;
return 0;
}
以上代码输出:
A is constructed.
B is constructed.
运行如下的C++代码,输出是什么?
class A
{
public:
virtual void Fun(int number = 10)
{
std::cout << "A::Fun with number " << number;
}
};
class B: public A
{
public:
virtual void Fun(int number = 20)
{
std::cout << "B::Fun with number " << number;
}
};
int main()
{
B b;
A &a = b;
a.Fun();
}
输出B::Fun with number 10。由于a是一个指向B实例的引用,因此在运行的时候会调用B::Fun。但缺省参数是在编译期决定的。在编译的时候,编译器只知道a是一个类型a的引用,具体指向什么类型在编译期是不能确定的,因此会按照A::Fun的声明把缺省参数number设为10。
- 因此虚函数在构造函数中,已经失去了虚函数的动态绑定特性。解确定缺省参数的值是在编译的时候
- 缺省参数的值是在编译的时候 确定
- c++静态绑定和动态绑定以及虚函数中缺省参数的绑定
- 构造函数的参数缺省
- 虚函数表是在编译的时候还是运行的时候产生的
- 虚函数表是在编译的时候还是运行的时候产生的
- 虚函数表是在编译的时候还是运行的时候产生的
- 继承中虚函数的缺省参数值问题
- 函数的缺省参数
- 函数的缺省参数
- 函数的缺省参数
- 函数的缺省参数
- C++ 虚函数的缺省参数问题
- 虚函数继承的默认缺省参数
- C++之缺省参数的构造函数、缺省的构造函数及缺省的析构函数
- C++继承中构造函数、析构函数调用顺序及虚函数的动态绑定
- 在子类的构造函数中调用虚函数
- php函数的缺省参数
- 命名法
- MFC中的定时器
- 【转】Linux驱动中的platform
- 用样式设置页面文本框 只能输入数字的方法
- 归并排序
- 因此虚函数在构造函数中,已经失去了虚函数的动态绑定特性。解确定缺省参数的值是在编译的时候
- hdu--1342 lotto (dfs)
- 汇编速查手册数据传输指令集
- 【转】 尺度不变特征变换(SIFT算法)Matlab程序代码测试例子说明(Lowe的代码)
- PHP中冒号、endif、endwhile、endfor这些都是什么
- EL表达式中如何截取字符串
- 【转】对const关键字的理解
- SVN环境导致Eclipse启动失败
- PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明