C++中如何子类访问父类的私有成员
时间: 2023-08-08 19:10:26 浏览: 493
在C++中,子类无法直接访问父类的私有成员。私有成员仅限于父类中的访问。但是,可以通过在父类中提供公有或受保护的成员函数来间接访问父类的私有成员。
下面是一个示例代码,展示了如何在子类中访问父类的私有成员:
```cpp
#include <iostream>
class Parent {
private:
int privateData;
public:
Parent(int data) : privateData(data) {}
protected:
int getPrivateData() const {
return privateData;
}
};
class Child : public Parent {
public:
void accessPrivateData() {
int data = getPrivateData();
std::cout << "Accessing private data in parent class: " << data << std::endl;
}
};
int main() {
Child child;
child.accessPrivateData();
return 0;
}
```
在这个例子中,`Parent` 类有一个私有成员 `privateData`。子类 `Child` 继承了父类 `Parent`。子类中的 `accessPrivateData()` 函数调用了父类的受保护成员函数 `getPrivateData()`,从而间接访问了父类的私有成员。
注意,子类只能通过继承来访问父类的受保护成员函数,而不能直接访问父类的私有成员变量。
阅读全文