zoukankan      html  css  js  c++  java
  • 42)子类继承 有参父类 和无参父类

    1)  子类继承有参的父类,那么  必须在子类的  构造函数的初始化列表那里,给父类赋值,比如说

        父类 Student 的构造函数  是   Student(int  age  ,string  name)

        然后我的子类的构造函数 须是:

                Student3(int  age ,string   name,int   sorce):Student(age,name)

                {                          }

     2)总之,不管你是  有参父类构造函数  还是无参构造函数  那么就有了   只要实例化子类,就会调用父类的构造函数

        为啥--> 因为子类的内存区域,有一块属性内存是父类的相关属性,所以啊   你实例化子类,和父类相关的那块内存,

              要用父类的构造函数来初始化,剩下的,靠子类自己的构造函数   

     1 #include<iostream>
    2 using namespace std;
    3 class student 4 { 5 public: 11 student() 12 { 15 cout<<"大家好。我是父类的构造函数"<<endl; 16 } 17 private: 18 int a; 20 };

    21 class ss:public student 22 { 23 public:29 ss() 30 { 31 cout<<"大家好,我是子类的构造函数"<<endl; 32 } 33 34 }; 35 int main() 36 { 37 38 ss cc; 42 }

          最终的运行结果:

        

      然后  有参的  父类:
      

     1 #include<iostream>
     2 
     3 using namespace std;
     4 
     5 class student
     6 {
     7 public:
     8     student(int a,int b)
     9     {
    10         cout<<"大家好。我是父类的构造函数"<<endl;
    11     }
    12 private:
    13     int a;
    14 };
    15 
    16 
    17 class ss:public student
    18 {
    19 public:
    20     ss(int a,int b):student(a,b)
    21     {
    22         cout<<"大家好,我是子类的构造函数"<<endl;
    23     }
    24 
    25 };
    26 int main()
    27 {
    28     
    29     ss cc(2,3);
    30 }

    3)派生类(子类)      基类(父类)

       

        

     

    4)就是  你的子类 在写构造时   

        student3()   这样的子类构造  会默认调用父类的无参构造     (只要实例化子类,肯定会调用父类的构造函数,所以 要是有参构造,必须在子类的构造函数初始化列表给初始化)

      但是  你可以写一个 无参的父类构造,  来 重载那个有参的,这样  就不用在你的子类构造函数初始化列表那里 给初始化  父类了

    5)

  • 相关阅读:
    java窗口按钮位置设置
    使用java语言编写窗口按钮
    添加无参的构造方法
    冒泡排序
    多态
    首页列表显示全部问答,完成问答详情页布局。
    制作首页的显示列表。
    发布功能完成。
    登录之后更新导航
    完成登录功能,用session记住用户名
  • 原文地址:https://www.cnblogs.com/xiaoyoucai/p/8277079.html
Copyright © 2011-2022 走看看