我有时会注意到计算机崩溃的程序出现错误:"纯虚函数调用".
当无法创建抽象类的对象时,这些程序如何编译?
这个问题不同于例如
因为如果知道所描述问题的原因是“g++ 和 gcc 之间的差异”,则无需再寻找答案。换句话说,虽然答案相同,但问题不同。
我有以下程序test.cpp:
struct CircuitElement {
bool value;
const char *name;
CircuitElement *next;
CircuitElement (const char *name);
virtual void evaluate () = 0;
};
struct Button: CircuitElement {
Button (const char *name);
virtual void evaluate ();
};
CircuitElement::CircuitElement (const char *name): name (name), next (0) {
}
Button::Button (const char *name): CircuitElement (name) {
}
void Button::evaluate () {
// Some statements
}
Button button ("button");
int main () {
return 0;
} …Run Code Online (Sandbox Code Playgroud)