回 帖 发 新 帖 刷新版面

主题:这个程序为什么不能运行

#include<iostream>
using namespace std;
class a
{
public:
    a* aa;
    virtual void show()
    {
        cout<<"aa\n";
    }
};
class b:public a
{
   void show()
   {
       cout<<"bb\n";
   }
};
int main()
{
    b bb;
    a* c=bb.aa;
    c->show();
    return 0;
}

回复列表 (共1个回复)

沙发

a 里面的指正没有初始化,加个构造函数就行了
a()
    {
        aa = new a;
    }

我来回复

您尚未登录,请登录后再回复。点此登录或注册