class shape{
public:
shape(string a, bool b):name(new string), moral(new bool){
*name=a;
*moral=b;
}
shape():name(new string),moral(new bool){
*name="shape";
*moral=true;
}
~shape(){
delete name;
delete moral;
}
protected:
string* name;
bool* moral;
};
class circle:public shape{
public:
circle(string s, bool bb, double d):shape(new string, new
bool),radius(new double){
}
protected:
double * radius;
};
最近,我試圖拿起C++。這是我在學習繼承屬性時編寫的示例代碼。兒童班級圈子的「形狀(新弦,新布爾)」有錯誤顯示。我不確定什麼是正確的語法來做到這一點。另外,我注意到如果在類中使用指針,初始化列表的形式被用來分配內存而不是分配值。有更好的表達方式和語法我可以用來做到這一點嗎?謝謝你們提前。C++中的繼承的正確語法,初始化列表和內存分配?
爲什麼你使用'名:(新字符串)',而不僅僅是'名稱:(一)'? – Barmar
名稱是我創建的指針。對於動態內存,我不應該先分配內存嗎? –
爲什麼你需要它是動態的?爲什麼不只是'string'作爲成員而不是'string *'? – Barmar