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