我编写了一个使用继承的程序,一切正常,但我认为自然不应该出现错误。这是我的程序:
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;”中产生执行时间错误。那这个呢?