class CBase {
public:
void print()
{
cout<<"In base print func\n";
};
};
class CDerived: public CBase {
public:
void print()
{
cout<<"In derived print func\n";
};
};
int main()
{
CBase b;
CBase* pb;
CDerived d;
CDerived* pd;
pd->print();
return 0;
}
上面的代码运行良好,但是当我在类CBase
中使用 print 函数时,virtual
它会导致分段错误。
我认为这背后有一些我不知道的基本逻辑。请给出您的意见,为什么会这样?