面试题答案
一键面试代码实现
#include <iostream>
class MyClass {
private:
int privateVar;
public:
// 写操作函数
void setPrivateVar(int value) {
privateVar = value;
}
// 读操作函数
int getPrivateVar() const {
return privateVar;
}
};
为什么通过成员函数访问而不是直接访问
- 数据封装:通过成员函数访问私有成员变量,可以将数据的具体实现细节隐藏起来,只暴露必要的接口给外部使用。这样外部代码不需要了解类内部的数据结构,只需要调用公开的接口函数即可,增强了代码的安全性和可维护性。
- 一致性和控制:使用成员函数可以对数据的访问和修改进行统一的控制。例如,在
setPrivateVar
函数中可以添加数据验证逻辑,确保赋给privateVar
的值是合理的。如果直接访问私有成员变量,就无法保证这种一致性和控制。