马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
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;
- }
复制代码 默认的继承方式是什么?
要看派生类是用class定义的还是struct定义的?
class定义的派生类,默认继承方式是private私有的
struct定义的派生类,默认继承方式是public的
|