跳至主要內容

继承的本质和原理

张威大约 1 分钟c/c++继承

继承的本质和原理

继承的本质

  1. 代码复用

类和类的关系:

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

继承: a kind of ... ... 一种的关系

形式

class 派生类 
: public/protected/private 基类
{
    
};

派生类的生成过程包含3个步骤:

  1. 吸收基类的成员
  2. 改造基类的成员
  3. 添加自己新的成员
class A
{
public:
	int ma;
protected:
	int mb;
private:
	int mc;
};
class B : public A//继承:A 基类/父类  B派生类/子类
{
public:
	int md;
protected:
	int me;
private:
	int mf;
};

继承之后:继承基类的成员,基类是12字节,派生类为24字节。

继承之后,还附带了 若在派生类中加一个ma,成员名字****,内存是28字节。

不能从基类继承下来的

不论何种继承方式,下面这些基类的特征是不能从基类继承下来的:

  1. 构造函数(包括拷贝构造)
  2. 析构函数
  3. 用户重载的operator new/delete运算符
  4. 用户重载的operator=运算符
  5. 友元关系