此文编写参考狄泰软件学院唐佐林老师的视频课程,如有错误之处,欢迎指正。
这一节主要解决这样的一个问题:如何初始化父类成员?父类构造函数和子类构造函数有什么关系?
一、继承中的构造
1、子类对象的构造
必须对继承而来的成员进行初始化:
-----直接调用初始化列表或者赋值的方式进行(麻烦一点,所以不建议使用)
-----调用父类构造函数进行初始化,调用方式如下:
(1)默认调用
适用于无参构造函数或者是使用默认参数的构造函数
(2)显式调用
通过初始化列表进行调用
适用于所有父类构造函数
例程:
#include<iostream>
#include<string>
using namespace std;
class Parent
{
public:
Parent()
{
cout<<"Parent()"<<endl;
}
Parent(string s)
{
cout<<"Parent(string s):"<<s<<endl;
}
};
class Child:public Parent
{
public:
Child()
{
cout<<"Child()"<<endl;
}
Child(string s):Parent(s)
{
cout<<"Child(string s):"<<s<<endl;
}
};
int main()
{
Child c1;
Child cc("jicheng");
return