//Item09 绝不在构造和析构过程调用virtual函数
#include <stdio.h>
class base {
public:
base() {
printf("base\n");
f();
}
virtual void f() = 0 {
printf("base::f\n");
}
};
class drived :public base {
public:
drived() {
printf("drived\n");
}
virtual void f() {
printf("drived::f()\n");
}
};
int main() {
drived d;
return 0;
}Item09 绝不在构造和析构过程调用virtual函数
构造函数中调用虚函数的风险
本文通过一个具体的C++代码示例说明了为什么在构造函数中调用虚函数可能会导致未定义行为。探讨了基类和派生类构造过程中成员函数调用的时机问题。

被折叠的 条评论
为什么被折叠?



