c++怎么引用父类中私有变量
时间: 2024-05-16 08:16:24 浏览: 82
C++访问类中私有成员变量的方法
5星 · 资源好评率100%
在C++中,私有变量是不能被派生类直接访问的,包括引用操作。派生类只能通过父类提供的公共接口来访问父类的私有变量。
如果你想在派生类中访问父类的私有变量,可以通过定义公共成员函数或者protected成员函数来实现。具体来说,你可以在父类中定义一个公共成员函数或者protected成员函数来获取私有变量的值,然后在派生类中调用这个函数来访问私有变量。
下面是一个简单的例子,演示了如何在派生类中访问父类的私有变量:
```c++
#include <iostream>
using namespace std;
class A {
private:
int num;
public:
A(int n) : num(n) {}
int getNum() const { return num; } // 定义一个公共成员函数来获取私有变量的值
};
class B : public A {
public:
B(int n) : A(n) {}
void printNum() { cout << getNum() << endl; } // 在派生类中调用父类的公共成员函数来访问私有变量
};
int main() {
B b(10);
b.printNum(); // 输出 10
return 0;
}
```
在这个例子中,类A定义了一个私有变量`num`和一个公共成员函数`getNum()`,用于获取私有变量的值。类B继承自类A,并且定义了一个公共成员函数`printNum()`,该函数调用了父类的公共成员函数`getNum()`来访问私有变量`num`的值。在主函数中,我们创建了一个类B的对象b,并且调用了它的公共成员函数`printNum()`,输出了私有变量`num`的值10。
阅读全文