【发布时间】:2014-04-09 00:05:42
【问题描述】:
class A{
public:
A(){
this->draw();
}
virtual void draw()=0;
};
是否会导致编译错误。如果是,为什么。如果不是,为什么?
【问题讨论】:
-
你没有编译器来试试这个吗?如果是,你为什么不这样做?如果没有,为什么没有编译器?
-
永远不要在构造函数和析构函数中调用虚函数。
-
@cbel:你的建议对 Java 和 C# 很有用,比如说。但是,在 C++ 中,此类调用(非纯虚函数)是安全的。这是 C++ 比上述语言更安全的罕见情况之一。
标签: c++