4.6 继承
2023-12-21 22:48:45
4.6 继承
C++中的继承是一种面向对象编程的重要特性,允许一个类(派生类/子类)使用另一个类(基类/父类)的成员和行为。继承提供了代码重用、层次结构和多态性的机制。
继承的语法,简单的描述如下
class A : public B;
A 类称为子类 或 派生类
B 类称为父类 或 基类
派生类中的成员,包含两大部分:
一类是从基类继承过来的,一类是自己增加的成员。
从基类继承过过来的表现其共性,而新增的成员体现了其个性。
4.6.2 继承方式
继承方式一共有三种:
公共继承
保护继承
私有继承
1.公有继承(Public Inheritance):
-
使用
public
关键字,基类的公有成员和保护成员在派生类中仍然是公有和保护的,基类的私有成员在派生类中不可访问。 -
示例:
class A { public: int m_a; protected: int m_b; private: int m_c; }; class B : public A { //在B类中A类中的成员属性不变。在B类中可以访问A类的public和protected成员, // 但不能访问A类中的private成员 public: void fun(){ m_a; //可访问 public权限 m_b; //可访问 protected权限 //m_c; //不可访问 } };
2.私有继承(Private Inheritance):
使用
private
关键字,派生类的所有成员在派生类中都变为私有的,基类的私有成员在派生类中不可访问。示例:class A { public: int m_a; protected: int m_b; private: int m_c; }; class B : private A { // 在B类中,A类中的所有成员都变为private。在B类中可以访问A类的public和protected成员, // 但不能访问A类中的private成员 public: void func() { m_a; //可访问 private权限 m_b; //可访问 private权限 //m_c; //不可访问 } };
保护继承(Protected Inheritance):
-
使用
protected
关键字,派生类的公有和保护成员在派生类中仍然是保护的,基类的私有成员在派生类中不可访问。示例代码:
class A { public: int m_a; protected: int m_b; private: int m_c; }; class B : protected A { // 在B类中,A类中的所有成员都变为protected。在B类中可以访问A类的public和protected成员, // 但不能访问A类中的private成员 public: void fun(){ m_a; //可访问 protected权限 m_b; //可访问 protected权限 //m_c; //不可访问 } }; void fun1(){ //对于B类从A类中使用protected继承,A类中的成员属性都变为protected属性 A a; a.m_a;//不能访问,因为属性为protected }
下面图示就解释了上面的代码案例。
未完待续。。。。
文章来源:https://blog.csdn.net/colortztzztzt/article/details/135141209
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!