明史沈有容传知识点:请帮忙看看这个程序片段有什么问题?

来源:百度文库 编辑:高校问答 时间:2024/10/05 10:32:47
请帮忙看看这个片段存在什么问题。

class A
{ int i,j;
public:
A(){i=j=0;}
};
class B
{ A *p;
public:
B(){ p=new A;}
~B() {delete p;}
};
void f(B x)
{……}
void main()
{ B b;
f(b);
}

是不是这句子B(){ p=new A;} 有问题?

应该是A *p=new A;
动态指针必须开始就赋初始值。

应该是A *p=new A();