C++常量成員函數(shù)怎樣調(diào)用

c++
小樊
81
2024-11-09 03:15:29

在C++中,常量成員函數(shù)(const member function)是一種特殊的成員函數(shù),它不能修改類的任何非靜態(tài)成員變量(除非它們被聲明為mutable)。要調(diào)用常量成員函數(shù),您需要?jiǎng)?chuàng)建一個(gè)常量對(duì)象(const object)或者使用指向常量的指針或引用。

以下是一個(gè)簡(jiǎn)單的示例:

#include <iostream>

class MyClass {
public:
    int getValue() const {
        return value_;
    }

private:
    int value_ = 42;
};

int main() {
    // 創(chuàng)建一個(gè)常量對(duì)象
    const MyClass obj;

    // 使用指向常量的指針調(diào)用常量成員函數(shù)
    const MyClass* ptr = &obj;
    std::cout << "Value: " << ptr->getValue() << std::endl;

    // 使用指向常量的引用調(diào)用常量成員函數(shù)
    const MyClass& ref = obj;
    std::cout << "Value: " << ref.getValue() << std::endl;

    return 0;
}

在這個(gè)示例中,我們定義了一個(gè)名為MyClass的類,其中包含一個(gè)名為getValue的常量成員函數(shù)。這個(gè)函數(shù)返回類的私有成員變量value_的值。在main函數(shù)中,我們創(chuàng)建了三個(gè)不同的方式來調(diào)用getValue函數(shù):

  1. 使用常量對(duì)象obj直接調(diào)用常量成員函數(shù)。
  2. 使用指向常量的指針ptr調(diào)用常量成員函數(shù)。
  3. 使用指向常量的引用ref調(diào)用常量成員函數(shù)。

0