嗨,我有 1 个关于 C++ 虚函数的问题...
class base{
public :
base() { a=5;}
int a;
virtual void print()=0;
int get(){return a;}
int get_var(){ a=5; return a;}
};
int main(void){
base *p;
cout <<"Get Call - No assign\n";
cout <<"Value is :: "<<p->get()<<endl;
cout <<"Get Call - assign value\n";
cout <<"Value is :: "<<p->get_var()<<endl;
return 0;
}
它的 o/p 是 :: Get Call - No assign Value 是 :: 5 Segmentation Fault
我不明白这种行为?
我能想到的一个原因是——因为基础是抽象类,即没有完整的实现,所以当我做 a=5 时它会崩溃。
但在第一次通话中,我也在使用一个,所以为什么它没有在那里崩溃
请帮助....