国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C++ > 正文

C++中靜態(tài)成員函數(shù)訪問非靜態(tài)成員的實(shí)例

2020-01-26 14:01:48
字體:
供稿:網(wǎng)友

C++中靜態(tài)成員函數(shù)訪問非靜態(tài)成員的實(shí)例

實(shí)現(xiàn)代碼:

#include <iostream> /* 靜態(tài)成員函數(shù)只能訪問靜態(tài)數(shù)據(jù)成員、靜態(tài)成員函數(shù)和類以外的函數(shù)和數(shù)據(jù),不能訪問非靜態(tài)數(shù)據(jù)成員,但靜態(tài)成員函數(shù)或靜態(tài)數(shù)據(jù)成員可由任意訪問許可的函數(shù)訪問。原因是:當(dāng)前對(duì)象的地址(this)是被隱含地傳遞到被調(diào)用的函數(shù)的。但一個(gè)靜態(tài)成員函數(shù)沒有this指針,所以它無法訪問非靜態(tài)的成員函數(shù)。 */ class a { public:   static void FunctionA()//靜態(tài)成員函數(shù)沒有隱含的this自變量   {     //menber = 1;//error C2597:對(duì)非靜態(tài)成員"a::member"的非法引用     //printValue();//error C2352:“a::printValue”:非靜態(tài)成員函數(shù)的非法調(diào)用   }   void printValue()   {     printf("menber=%d/n",menber);   } private:   int menber; }; /*如何訪問非靜態(tài)成員呢? 1.把非靜態(tài)成員修改成靜態(tài)成員。如:static int member;//這就不會(huì)出錯(cuò)了,但有些不妥 2.將對(duì)象作為參數(shù),通過對(duì)象名來訪問該對(duì)象的非靜態(tài)成員 */ class A { public:   A():menber(10){}   static void FunA(A& _A)   {      _A.menber = 123;      _A.printValue();   }   static void FunB(A* _A)   {     _A->menber = 888;     _A->printValue();   }   void printValue()   {     printf("menber=%d/n",menber);   } private:   int menber; }; int _tmain(int argc, _TCHAR* argv[]) {   A* m=new A();   m->FunB(m);   A::FunB(m);   A::FunA(*m);    A b;    b.FunA(b);   A::FunB(&b);   b.FunB(&b);   m->FunB(&b);   return 0; } 

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 紫金县| 澎湖县| 精河县| 罗田县| 分宜县| 长顺县| 株洲县| 隆化县| 沅江市| 乌拉特后旗| 舒城县| 四川省| 喀喇沁旗| 湖南省| 昌吉市| 娱乐| 二手房| 连南| 绥德县| 惠来县| 滨海县| 乌海市| 壤塘县| 肥城市| 长沙县| 兴宁市| 二连浩特市| 镶黄旗| 电白县| 吉隆县| 丰镇市| 陵川县| 哈尔滨市| 盐津县| 老河口市| 青田县| 台南市| 柯坪县| 新密市| 武夷山市| 古交市|