C++ 常成员函数
使用 const關鍵字修飾的函數為常成員函數,常成員函數聲明的格式如下:
類型說明符 函數名(參數表) const; #include <iostream> using namespace std;class Test{private:int t1, t2;public:Test(int t1, int t2) : t1(t1), t2(t2){}void print();void print() const; }; void Test::print(){cout << t1 << ":" << t2 << endl; }void Test::print() const { // const修飾的常函數 cout << t1 << ":" << t2 << endl; }int main(){Test *test1 = new Test(6, 9);test1 -> print(); // 調用 void print() const Test *test2 = new Test(1, 2021);test2 -> print(); // 調用 void print() const delete test2;delete test1;return 0; }注:
- const是函數類型的一個組成部分,因此在函數的定義部分也要帶const關鍵字。
- 無論是否通過常對象調用常成員函數,在常成員函數調用期間,目的對象都被視同為常對象,因此常成員函數不能更新目的的對象的數據成員,也不能針對目的對象調用該類中沒有用const修飾的成員函數。
- const關鍵字可以用于對重載函數的區分。
- 如果將一個對象說明為常對象,則通過該常對象只能調用它的常成員函數,而不能調用其他成員函數。
總結
- 上一篇: C++ 用vector创建数组对象
- 下一篇: C++ 派生类的定义