<五>關(guān)于類的各類成員
類的各種成員-> 成員方法 & 成員變量
普通的成員方法=>編譯器會(huì)添加一個(gè)this形參變量
1:屬于類的作用域
2:調(diào)用該方法時(shí),需要依賴一個(gè)對(duì)象,而且常對(duì)象不能調(diào)
3:可以任意的訪問對(duì)象的私有成員變量
const 常成員方法 => const student *this
1:屬于類的作用域
2:調(diào)用依賴對(duì)象,普通對(duì)象和常對(duì)象都可以調(diào)用
3:可以任意訪問對(duì)象的私有成員,但是只能讀,不能寫.
static 靜態(tài)成員方法=>編譯器不會(huì)添加this形參變量
1:屬于類的作用域
2:用類名作用域來調(diào)用方法
3:可以任意訪問對(duì)象的私有成員,僅限于不依賴對(duì)象的成員(只能調(diào)用其他的static靜態(tài)成員)
注意:只要是普通方法只設(shè)計(jì)讀操作,就一定設(shè)置為常成員方法,這樣普通對(duì)象和常對(duì)象都可以調(diào)
點(diǎn)擊查看代碼
class people{
public:
//普通的成員方法,通過對(duì)象來調(diào)用該方法,產(chǎn)生this指針,接受對(duì)象調(diào)用時(shí),傳遞過來的地址
void setAge(int _age){
this->age=_age;
}
//常成員方法
void showAget() const {
cout<<age<<endl;
}
// 靜態(tài)成員方法,通過類名作用域來調(diào)用靜態(tài)方法,不產(chǎn)生this指針,所以不需要通過對(duì)象調(diào)用
static void showCounter(){
cout<<counter<<endl;
}
private:
//普通成員變量
int age;
//靜態(tài)成員變量
static int counter;//聲明
};
//static 成員變量一定要在類外定義并做初始化,所有對(duì)象共享,不屬于對(duì)象,屬于類級(jí)別
int people::counter=0; //
int main(){
people p1;
people p2;
//static int counter 是p1和p2公用的,people對(duì)象在計(jì)算存儲(chǔ)空間的時(shí)候是不考慮 靜態(tài)變量
//p1對(duì)象和p2對(duì)象存儲(chǔ)在棧上, static int counter 存儲(chǔ)在數(shù)據(jù)段上.bss段上
return 1;
}
const pepole p3;
p3.setAge(30);
上面這個(gè)編譯報(bào)錯(cuò),為什么?
setAge方法產(chǎn)生的this指針是普通對(duì)象指針,而p3對(duì)象是常對(duì)象,產(chǎn)生的指針常指針 const people *pp; 不可以將一個(gè)常指針賦值給一個(gè)普通對(duì)象指針.
欄 目:C++
下一篇:【C++】extern &quot;C&quot;詳解
本文標(biāo)題:&lt;五&gt;關(guān)于類的各類成員
本文地址:http://www.jygsgssxh.com/a1/c++/17095.html


閱讀排行
- 1C語言 while語句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹的示例代碼(圣誕
- 3利用C語言實(shí)現(xiàn)“百馬百擔(dān)”問題方法
- 4C語言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 04-02qt用法小結(jié)2021_11_19
- 04-02Visual Studio C++ 默認(rèn) UTF-8 編碼及 *.edi
- 04-02&lt;五&gt;關(guān)于類的各類成
- 04-02【C++】extern &quot;C&quot;詳
- 04-02&lt;六&gt;指向類成員的指
- 04-02&lt;三&gt;對(duì)象的淺拷貝和
- 04-02&lt;四&gt;構(gòu)造函數(shù)初始化
- 04-02[C++]
- 04-02&lt;二&gt;掌握構(gòu)造函數(shù)和
- 04-02SLAM十四講CH8代碼
隨機(jī)閱讀
- 04-02jquery與jsp,用jquery
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10delphi制作wav文件的方法
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什


