是否可以在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