課程
/后端開發(fā)
/C++
/C++遠征之封裝篇(上)
例如
string m_strName;string m_strGender;int m_strScore;
為什么可以放在函數(shù)后面定義
2019-02-13
源自:C++遠征之封裝篇(上) 4-2
正在回答
和C語言不同,這是面向對象語言的特點之一,需使用的變量可以在當前任意位置定義,即使定義在調用的后面也可以使用,不僅僅是這里的封裝,其他地方也可以這樣。
至于這里為什么這樣定義,這個得問開發(fā)出C++面向對象的人了,雖然我們習慣性的都先在public里進行調用,然后把定義的private部分寫下面,但這不是硬性規(guī)定的,可以更換順序。
函數(shù)返回函數(shù)外定義的變量是因為外面定義了變量即使是private也會是這個類中的全局變量,所以函數(shù)可以對這個變量進行更改,并且反饋出去,其實即使是函數(shù)內(nèi)變量也可以return出去,不過就沒有一個變量儲存,而是直接返回一個值,不知道這個說法有沒有錯。。。
這個在類中定義的成員變量,生命周期應該就是在對象存在的全周期。就是一個對象實例化出來的時候,變量就已經(jīng)定義好了,而調用函數(shù)都是在對象出現(xiàn)之后。
Peppa_ 提問者
舉報
封裝--面向對象的基石,本教程力求幫助小伙伴們即學即會
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2019-04-15
和C語言不同,這是面向對象語言的特點之一,需使用的變量可以在當前任意位置定義,即使定義在調用的后面也可以使用,不僅僅是這里的封裝,其他地方也可以這樣。
至于這里為什么這樣定義,這個得問開發(fā)出C++面向對象的人了,雖然我們習慣性的都先在public里進行調用,然后把定義的private部分寫下面,但這不是硬性規(guī)定的,可以更換順序。
函數(shù)返回函數(shù)外定義的變量是因為外面定義了變量即使是private也會是這個類中的全局變量,所以函數(shù)可以對這個變量進行更改,并且反饋出去,其實即使是函數(shù)內(nèi)變量也可以return出去,不過就沒有一個變量儲存,而是直接返回一個值,不知道這個說法有沒有錯。。。
2019-02-14
這個在類中定義的成員變量,生命周期應該就是在對象存在的全周期。就是一個對象實例化出來的時候,變量就已經(jīng)定義好了,而調用函數(shù)都是在對象出現(xiàn)之后。