zoukankan      html  css  js  c++  java
  • C++-------基类子类的相关问题

    一、类的赋值兼容原则:
    1.子类对象可以赋值给基类对象
    class A
    {
    }
    
    class B:public A
    {
    }
    
    在主函数中:
    /*
    A a1;
    B b1=a1;   //不可以,因为b1的空间比a1大,a1赋值过来不满足空间大小
    */
    
    /*
    B b1;
    A a=b1;    //可以进行,a1只用到b1的部分地址
    */
    
    2.子类对象可以当做父类对象使用
     (即通俗理解父类中的代码子类同样拥有)
    
    
    3.基类指针可以指向子类对象
      (若用子类指针指向基类对象,此时基类不满足子类,子类中的自己的内存布局基类中没有,报错。)
    二、子类的构造和析构
      在调用子类的构造函数时候,一定会调用基类的构造函数
      基类先构造,子类后构造
      基类后析构,子类先析构
      
    
    三、子类基类中出现同名变量a (基类A,子类B)
      若同名变量都为public,且为公有继承
      在子类中输出this->a,此时的a是子类中的a,若要输出基类中的a,需要用域名A::a来显示调用输出
    
    
    四、继承中的静态成员变量
      静态成员变量对所有家族成员都共享(静态成员变量需要在基类中声明并用基类域名进行初始化)
  • 相关阅读:
    Spring MVC下拉选项(Select)
    Spring MVC多项单选按钮
    Spring MVC单选按钮
    Spring MVC复选框(多项)
    Spring MVC复选框
    Spring MVC文本域
    Spring MVC密码处理
    Spring MVC页面重定向
    Spring MVC静态页面
    Spring MVC表单处理
  • 原文地址:https://www.cnblogs.com/god-for-speed/p/10978383.html
Copyright © 2011-2022 走看看