私は継承を使用するプログラムを作成しました。すべて問題ありませんが、自然にここにあるべきではないと思うエラーがあります。これが私のプログラムです:
class A
{
protected:
int x;
public:
A(){};
~A(){};
A* operator=(const A* other)
{
this->x = other->x;
return this;
}
};
class B : public A
{
public:
B() : A(){};
~B(){};
};
class C
{
protected:
A *a;
public:
C(const A* other){ *(this->a) = other; };
};
int main()
{
B *b = new B();
C *c = new C(b);
return 0;
}
ステートメント'this->x =other->x;'で実行時エラーが発生します。これはどうですか?