MST

星途 面试题库

面试题:C++中如何在类外访问私有成员变量

在C++中,已知一个类有私有成员变量,描述一种合理的在类外部访问该私有成员变量的方法,并给出简单代码示例。
21.0万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试

在C++中,虽然私有成员变量不能直接在类外部访问,但可以通过类提供的公共成员函数(如getter和setter)来间接访问。

  1. getter函数:用于获取私有成员变量的值。
  2. setter函数:用于设置私有成员变量的值。

以下是代码示例:

#include <iostream>

class MyClass {
private:
    int privateVariable;
public:
    // 构造函数,初始化私有成员变量
    MyClass(int value) : privateVariable(value) {}

    // getter函数
    int getPrivateVariable() const {
        return privateVariable;
    }

    // setter函数
    void setPrivateVariable(int value) {
        privateVariable = value;
    }
};

int main() {
    MyClass obj(10);

    // 通过getter函数获取私有成员变量的值
    std::cout << "The value of private variable is: " << obj.getPrivateVariable() << std::endl;

    // 通过setter函数设置私有成员变量的值
    obj.setPrivateVariable(20);
    std::cout << "After setting, the value of private variable is: " << obj.getPrivateVariable() << std::endl;

    return 0;
}

在上述代码中:

  • MyClass类包含一个私有成员变量privateVariable
  • getPrivateVariable函数是一个getter函数,用于返回privateVariable的值。
  • setPrivateVariable函数是一个setter函数,用于设置privateVariable的值。
  • main函数中,通过调用getPrivateVariablesetPrivateVariable函数来间接访问和修改私有成员变量。