課程
/后端開發
/C++
/C++遠征之封裝篇(下)
1、堆實例化p對象數組,p[1]->m_x =1;這樣合法嗎
2、p+1.m_x合法嗎
3、p+1->m_x合法嗎
2019-08-18
源自:C++遠征之封裝篇(下) 2-2
正在回答
1.2均不合法,3存在語法錯誤
數組符號代表進行一次訪問,1中p[1]代表訪問到了第二個對象,此時再用->再次訪問就不合理了;
p中存放的地址是第一個對象的,p+1代表第二個對象的地址,此時p+1還未進行訪問操作,直接使用.取成員依舊是不合理的;
同理p+1代表一個指針存放第二個對象的地址,可以進行訪問拿到m_x這個成員,但是p+1應該加上小括號,因為->的優先級高于+;
全面細致
舉報
封裝--面向對象三大特征之一,通過案例讓C++所學知識融會貫通
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-08-18
1.2均不合法,3存在語法錯誤
數組符號代表進行一次訪問,1中p[1]代表訪問到了第二個對象,此時再用->再次訪問就不合理了;
p中存放的地址是第一個對象的,p+1代表第二個對象的地址,此時p+1還未進行訪問操作,直接使用.取成員依舊是不合理的;
同理p+1代表一個指針存放第二個對象的地址,可以進行訪問拿到m_x這個成員,但是p+1應該加上小括號,因為->的優先級高于+;
2019-08-18
全面細致