C++ 類函式宣告中,'const' 放置在末尾的含義是什麼?


有時,我們會在函式宣告的末尾發現關鍵字“const”。那麼它是什麼意思呢?

使用這種語法可以讓一個函式成為常量函式。常量函式的意義在於,無法從呼叫函式的物件修改函式。建議在我們的程式中使用常量函式。

讓我們看一個常量函式的例子。

示例

#include<iostream>
using namespace std;
class MyClass {
   int value;
   public:
      MyClass(int val = 0) {
         value = val;
      }
      int getVal() const {
         //value = 10; [This line will generate compile time error as the function is constant]
         return value;
      }
};

輸出

The value is: 80

現在,我們將看到與常量函式相關的另一個重要內容。正如你從上面的例子中看到的,可以從任何型別的物件呼叫常量函式。但是,某些非常量函式無法從常量物件呼叫。

示例

#include<iostream>
using namespace std;
class MyClass {
   int value;
   public:
      MyClass(int val = 0) {
         value = val;
      }
      int getVal(){
         return value;
      }
};
main() {
   const MyClass ob(80);
   cout<< "The value is: " << ob.getVal();
}

輸出

[Error] passing 'const MyClass' as 'this' argument of 'int
MyClass::getVal()' discards qualifiers [-fpermissive]

更新時間:30-07-2019

745 次瀏覽

開啟你的職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.