C++ 中const對象與const成員函數(shù)的實例詳解
const對象只能調(diào)用const成員函數(shù):
#include<iostream> using namespace std; class A  {  public:    void fun()const   {     cout<<"const 成員函數(shù)!"<<endl;     }   void fun()   {     cout<<"非const成員函數(shù) !"<<endl;   } };  int main() {   const A a;   a.fun(); } 輸出:const 成員函數(shù)!
但是如果把第以1個fun注釋掉就會出錯:error C2662: “A::fun”: 不能將“this”指針從“const A”轉(zhuǎn)換為“A &”。
但是const成員函數(shù)可以被非const 對象調(diào)用:
#include<iostream> using namespace std; class A  {  public:    void fun()const   {     cout<<"const 成員函數(shù)!"<<endl;     }    /* void fun()   {     cout<<"非const成員函數(shù) !"<<endl;   }   */ };  int main() {    A a;   a.fun(); } 該段代碼輸出:const 成員函數(shù)!
當然非const對象可以調(diào)用非const成員函數(shù)。
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答