Cpp3 继承
什么是继承
struct Person
{
int age;
int sex;
};
struct Teacher
{
int age;
int sex;
int level;
int classId;
};
struct Teacher:Person
{
int level;
int classId;
};
总结:
1、什么是继承?
继承就是数据的复制
2、为什么要用继承?
减少重复代码的编写
3、Person 称为父类或者基类
4、Teacher称为子类或者派生类
继承不仅仅局限于父类
struct X
{
int a;
int b;
};
struct Y:X
{
int c;
int d;
};
struct Z:Y //Z的成员只继承c d吗?
{
int e;
int f;
};
内存布局
[图片上传失败...(image-d184d9-1525373437834)]
多重继承
struct X
{
int a;
int b;
};
struct Y
{
int c;
int d;
};
struct Z:X,Y
{
int e;
int f;
};
内存布局:
总结:
多重继承增加了程序的复杂度,不建议使用。
多重继承的顺序会影响内存布局 比如继承 x,y
和继承y,x
;z 结构体上面的内存布局是相反的