課程
/后端開發
/C++
/C++遠征之封裝篇(上)
這里定義了一個指針,為什么申請空間的時候就可以是 m_pName = new char[20];
而之前從堆中實例化對象都是int *p = new int[1000]; ? (等號左邊p帶*號)
2017-03-13
源自:C++遠征之封裝篇(上) 6-10
正在回答
都定義過了。。不能在定義。。不懂的,,看下指針的注意事項!
因為后面定義數據成員時已定義了char *m_pName;所以在構造函數中沒有必要寫成char *m_pName=new char[20];如果有幫助希望采納
聲明和定義(賦值)的區別;
int?*p?=?new?int[100];?//聲明指針變量p?,并且申請空間?100*int(賦值) int?*p?;???????????????//聲明指針變量p p?=?new?int?[100];?????//申請空間?100*int,首地址存入?指針變量p里面(賦值) ... ...賦值。 cout?<<?p?<<?endl;?????//輸出p存儲的地址??的內容,即int?[100]內容 cout?<<?*p?<<?endl;????//輸出p存儲的地址??的計算機內部空間
打字不易,如果有幫助希望采納;
紅塵太簡單
m_pName等價于char *xxxx::m_pName,xxxx為類名。因此,這是隱含有一個“*”。
數據類型問題,從“char *”轉換為“char”是違法的。
Tricia0127 提問者
m_pName也是指針,已在類內定義。
private:
? ? ? ? char *m_pName;
public:
? ? ? ? Student()
? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? m_pName=new ?char[20]; ?//已定義為指針
? ? ? ? ? ? ? ? ? }
?
木_瓜
舉報
封裝--面向對象的基石,本教程力求幫助小伙伴們即學即會
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2020-04-30
都定義過了。。不能在定義。。不懂的,,看下指針的注意事項!
2018-08-04
因為后面定義數據成員時已定義了char *m_pName;所以在構造函數中沒有必要寫成char *m_pName=new char[20];如果有幫助希望采納
2018-07-24
聲明和定義(賦值)的區別;
打字不易,如果有幫助希望采納;
2017-03-13
m_pName等價于char *xxxx::m_pName,xxxx為類名。因此,這是隱含有一個“*”。
2017-03-13
數據類型問題,從“char *”轉換為“char”是違法的。
2017-03-13
m_pName也是指針,已在類內定義。
private:
? ? ? ? char *m_pName;
public:
? ? ? ? Student()
? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? m_pName=new ?char[20]; ?//已定義為指針
? ? ? ? ? ? ? ? ? }
?