c++ protected
时间: 2023-12-22 11:28:23 浏览: 34
在C++中,`protected`关键字用于指定类的成员或函数只能在该类及其子类中访问,而不能在类外部访问。使用`protected`关键字时,需要在类体中将需要保护的成员或函数定义为`protected`即可。
以下是一个简单的代码示例:
```cpp
class Parent {
protected:
int protected_var; // protected数据成员
void protected_func(); // protected成员函数
};
```
使用`protected`关键字时,可以实现多态功能,即基类指针可以引用和操作派生类的对象,这样能够简化代码并提高程序的可维护性。以下是一个多态的示例:
```cpp
class Parent {
protected:
int protected_var;
void protected_func();
public:
virtual void f() { // 基类虚函数
cout << "Parent" << endl;
}
};
class Child : public Parent {
public:
void f() override { // 派生类的虚函数
cout << "Child" << endl;
}
};
int main() {
Parent* p = new Child(); // 基类指针指向派生类对象
p->f(); // 输出"Child"
delete p;
return 0;
}
```