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
セグメンテーション違反が発生します。
この背後には、私が気付いていない基本的な論理があると思います。なぜそうなのかコメントをお願いします。