派生类中的构造函数

Posted hi3254014978

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了派生类中的构造函数相关的知识,希望对你有一定的参考价值。

派生类不能继承基类的构造函数,必须自己定义构造函数进行新增数据成员初始化工作,如果想同时初始化基类数据成员,必须调用基类构造函数。

例如:

 1 class stu1
 2 {
 3 public:
 4     stu1(int i, string strn, double in)
 5     {
 6         ID = i;
 7         name = strn;
 8         income = in;
 9     }
10 
11 private:
12     int ID;
13     string name;
14     double income;
15 };
16 
17 class stu2 :public stu1
18 {
19 public:
20     stu2(int i, const string str, double in, string p) :stu1(i, str, in)
21     {
22         phoneNo = p;
23     }
24 
25 private:
26     string phoneNo;
27 };
28 
29 int main()
30 {
31     stu2 st(1, "Tom", 1000.02, "12345");
32 
33 }

基类也可以使用初始值列表的构造函数:派生类的构造函数不用改变

 1 class stu1
 2 {
 3 public:
 4     stu1(int i, string strn, double in) :ID(i), name(strn), income(in) { }
 5 
 6 private:
 7     int ID;
 8     string name;
 9     double income;
10 };

 

以上是关于派生类中的构造函数的主要内容,如果未能解决你的问题,请参考以下文章

派生类中的重载构造函数

派生类中的静态方法可以在 C++ 中调用受保护的构造函数吗?

派生类中的构造函数

C++ 类 - 派生类中的构造函数声明

C++如何使用派生类构造函数销毁基类中的对象

派生类可以有一个不在 C++ 基类中的构造函数吗?