派生类中的构造函数
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 };
以上是关于派生类中的构造函数的主要内容,如果未能解决你的问题,请参考以下文章