国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 赣州市| 阳高县| 乌苏市| 上虞市| 杂多县| 班玛县| 孝义市| 道真| 得荣县| 满洲里市| 广昌县| 招远市| 石棉县| 长宁区| 耒阳市| 樟树市| 安庆市| 新乡市| 富锦市| 睢宁县| 南投县| 甘谷县| 石首市| 大石桥市| 涟水县| 措美县| 宜春市| 突泉县| 惠州市| 石家庄市| 新余市| 丹江口市| 师宗县| 五大连池市| 吉林市| 湟源县| 陈巴尔虎旗| 绥滨县| 温宿县| 宿州市| 雅江县|