c++继承的三种方式
作者:野牛程序员:2023-08-07 04:51:04 C++阅读 2957
在 C++ 中,继承是面向对象编程的基本特性之一,它允许一个类(派生类)从另一个类(基类)继承成员和方法。C++ 支持三种类型的继承方式:
公有继承(Public Inheritance): 在公有继承中,派生类继承了基类的公有成员和保护成员,并且这些成员在派生类内部仍然是公有或保护的。私有成员不可被继承。
class Base {
public:
int publicVar;
void publicFunc() {
cout << "Base::publicFunc()" << endl;
}
protected:
int protectedVar;
void protectedFunc() {
cout << "Base::protectedFunc()" << endl;
}
private:
int privateVar;
void privateFunc() {
cout << "Base::privateFunc()" << endl;
}
};
class Derived : public Base {
// Derived 类继承了 Base 类的公有成员和保护成员
};
int main() {
Derived derived;
derived.publicVar = 10; // 可以访问继承的公有成员
derived.publicFunc(); // 可以调用继承的公有成员函数
return 0;
}保护继承(Protected Inheritance): 在保护继承中,派生类继承了基类的保护成员,并且这些成员在派生类内部仍然是保护的。公有成员和私有成员不可被继承。
class Derived : protected Base {
// Derived 类继承了 Base 类的保护成员
};
int main() {
Derived derived;
derived.publicVar = 10; // 错误,不能访问继承的公有成员
derived.publicFunc(); // 错误,不能调用继承的公有成员函数
return 0;
}私有继承(Private Inheritance): 在私有继承中,派生类继承了基类的私有成员,并且这些成员在派生类内部仍然是私有的。公有成员和保护成员不可被继承。
class Derived : private Base {
// Derived 类继承了 Base 类的私有成员
};
int main() {
Derived derived;
derived.publicVar = 10; // 错误,不能访问继承的公有成员
derived.publicFunc(); // 错误,不能调用继承的公有成员函数
return 0;
}需要注意的是,继承方式只影响派生类对基类成员的访问权限,不影响派生类的其他特性。通常,公有继承是最常见的继承方式,保护继承和私有继承较少使用,它们主要用于实现细节隐藏或者实现特定的继承行为。选择继承方式时应根据具体需求进行权衡。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:c++中虚函数的作用
- 下一篇:c++纯虚函数有什么用
