是否可以在C++中的另一个类的构造函数中初始化一个类的对象?我通常只会在main()中声明对象,但我很想知道这是否可行并且是一个好习惯。 “新”和没有“新”运营商的情况有什么影响。它在哪里被销毁?是否有可能在C++中的另一个类的构造函数中声明一个类的对象?
例如假设一个名称空间和一个带“新”运算符的示例
class A{
private:
protected:
int *w, int *h;
public:
A(){
w = new int;
h = new int;
};
virtual int area (return ((*w)*(*h)) ;)
virtual ~A()
{
delete w;
delete h;
}
}
class B{
public:
B()
{
A a1; // This is usually in the main();
// Is this good practice
//Where will the object be destroyed
}
virtual ~B();
}
您可能想要阅读一本或两本关于C++的书。用'new'分配简单的整数是不值得的。 –
你是一个正在恢复的Java程序员吗? –
没有一个Java程序员问我这个问题,因为我没有使用这种类型的设计,我想我可能会问这堆栈溢出,因为我不知道我自己。我是C和C++程序员。 – enthusiasticgeek