首页IT科技继承的意思?(继承的基本意义)

继承的意思?(继承的基本意义)

时间2025-05-03 00:25:37分类IT科技浏览3593
导读:1:继承的本质和原理...

1:继承的本质和原理

2:派生类的构造过程

3:重载,覆盖,隐藏

4:静态绑定和动态绑定

5:多态,vfptr,vftable

6:抽象类的设计原理

7:多重继承以及问题

8:虚基类 vbptr 和vbtable

9:RTTI

10:C++四种类型强转

继承的本质和原理

1:代码的复用

类和类之间的关系

组合: a part of ..... 一部分的关系

继承: a kind of ..... 一种的关系 //代码1: class A{ public: int ma; protcted: int mb; private: int mc; } class B{ public: int md; int ma; potected: int me; int mb; private: int mf; int mc; } 代码2: class A{ public: int ma; protcted: int mb; private: int mc; } //B继承 A, class B : public A{ public: int md; potected: int me; private: int mf; }

继承的基本意义

如上图,B继承A,那么B中对A 的ma ,mb,mc 的访问方式是怎么样的?能否访问?如下

class B : public A{ public: int md; void f(){ cout<<ma<<endl ; // ?????? } potected: int me; private: int mf; }

继承的基本意义

1:父类的私有成员,子类不管是public,protected,private 哪种方式继承,子类中都是不可见的(注意不是private) 2:外部只能访问public成员,protected和private 的成员无法直接访问 3:在继承结构中,派生类从基类可以继承过来private成员,但是派生类中是看不见的(无法直接访问) 4:protected和private的区别?在基类中定义的成员,想被派生类访问,不想被外部访问,那么在基类 把相关成员定义成protected的,如果派生类和外部都不打算访问,那么在基类中           ,就把想关成员定义成private私有的

看下面继承方式

class A{ public: int ma; protcted: int mb; private: int mc; } //B私有 继承 A, class B : private A{ public: int md; potected: int me; private: int mf; } class C : public B{ public: void function(){ ma,mb ,mc md, me,mf ;的访问权限是什么? ma 在 A 中是共有成员 -> 到B中 变成私有成员了 -》 C 中就不可见了 mb 在 A 中是保护成员 -> 到B中 变成了私有成员了-> c 中不可见 mc 在 A 中是私有成员 -> 到B中 不可见 -> C中也不可见 md 在 B 中四 共有成员 -> C中还是共有 -> main(外部)可访问 me 在 B 中四 保护成员 -> C中还是保护(C中可访问) -> main(外部)不可访问 mf 在 B 中四 私有成员 -> C中不可见 -> main(外部)不可见 } }

默认的继承方式是什么?

要看派生类是用class定义的还是struct定义的?

class定义的派生类,默认继承方式是private私有的

struct定义的派生类,默认继承方式是public的

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
如何做好伪原创视频(如何用伪原创工具手机app提升文章质量?) vue制作(Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(开发导航栏及公共部分))