作者Schematic (唸書電動網拍)
看板C_and_CPP
標題[問題] class內部可以new東西嗎?
時間Sun Mar 22 17:29:52 2009
如果想在class中new一個指標,
為什麼只能寫在function中,
不能寫在外面呢?
就是
class Test{
private:
int *ptr = new int; <--這樣會錯誤
};
可是
class Test{
private:
int *ptr;
public:
void setPtr(){
ptr = new int; <--這樣卻可以
}
};
不懂為什麼
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.197.240
推 chrisdar:只有靜態 const 整數資料成員可以在類別內初始化 03/22 17:36
→ Schematic:所以我得這樣寫 static const int *ptr = new int;囉? 03/22 17:56
推 chrisdar:整數資料成員 ptr是指標 不在此列 03/22 18:02
推 Ebergies:我覺得你可以說說堅持要這樣做的理由... 03/22 18:02
→ a127a127:new已經是實際執行code了,class內的描述不是拿來執行用的 03/22 18:58
→ Schematic:不是非要這樣做,只是想了解為什麼不能而已 ^^; 03/22 19:56