Cpp3 继承

作者: Asura_Luo | 来源:发表于2018-05-04 02:50 被阅读0次

    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;  
    };
    

    内存布局:

    image

    总结:
    多重继承增加了程序的复杂度,不建议使用。
    多重继承的顺序会影响内存布局 比如继承 x,y 和继承y,x;z 结构体上面的内存布局是相反的

    相关文章

      网友评论

        本文标题:Cpp3 继承

        本文链接:https://www.haomeiwen.com/subject/oayrrftx.html