C++ 之常对象,常对象成员
生活随笔
收集整理的這篇文章主要介紹了
C++ 之常对象,常对象成员
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一.常對象:
1.常對象定義:Time? const? t1(1,2,3)或者const Time t1;
2.常對象不能調用該對象的非const型的成員函數(系統主動調用的構造析構函數除外);
3.常成員函數的聲明方法,后面加個const即可: void get_time() const;
4.常對象不能修改對象內的數據成員,如果要修改,只能將數據成員聲明為mutable:
? ?mutable int count;
? ?這樣就可以用聲明為const的成員函數來修改它的值;
二.常數據成員:
1.常數據成員的定義:const? int? a;?或者 int? const? a;
2.只能通過構造函數的參數初始化表對常數據成員進行初始化,不能采用在構造函數中對常數據成員賦初值的方法;
class Time {public:Time(int h, int t);const int hour;int test; };錯誤構造函數: Time::Time(int h, int t) {hour = h; // hour是常數據成員,非法test = t; }正確方案: Time::Time(int h):hour(h) // 采用部分初始化列表定義常數據成員,正確 {test = t; } 或者 Time::Time(int h):hour(h),tset(t){} // 采用全部初始化列表定義三.常成員函數:
1.常成員函數不能調用另一個非const成員函數;
2.常成員函數調用數據成員情況:
| ? ? ? ? ? ? ? ? ? ?數據成員 | ? ? ? ? ? ? ? ? ? ? ?非const成員函數 | ? ? ? ? ? ? ? ? ? ? ? ? ? ?const成員函數 |
| 非const的數據成員 | 可以引用,也可以改變值 | 可以引用,但不可以改變值 |
| const數據成員 | 可以引用,但不可以改變值 | 可以引用,但不可以改變值 |
| const對象的數據成員 | 不允許引用和改變值 | 可以引用,但不可以改變值 |
?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的C++ 之常对象,常对象成员的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++之指向对象成员函数的指针
- 下一篇: C++ 之类的静态成员