继承中子类构造函数写法

1.注意点:
1.1子类的构造函数,除了需要初始化本类数据,
还需要调用父类的构造函数初始化被继承下来的属性
1.2子类的构造函数中父类必须采用初始化参数列表

#include <iostream>
#include <string>
using namespace std;
class Mother
{
protected:
	string name;
	int age;
public:
	Mother() 
	{
		cout << "无参构造:" ;
	}
	Mother(string name, int age) :name(name), age(age)
	{
		cout << "有参构造:" ;
	}
};
class Son :public Mother
{
protected:
	int money;
public:
	//....这里会调用无参构造(注意测试结果)....
	Son(int money) :money(money)
	{
		cout << "mySon1:"<<money << endl;
	}
	//.....需要把父类构造写在这里.....上面是有省略....
	Son(string name, int age, int money) :Mother(name, age) 
	{
		this->money = money;
		cout << "mySon2:" <<name <<" "<<money<<" " <<age<< endl;
	}

};
int main()
{
	Son mySon1(600);
	Son mySon2("YourSon",500, 888);

	return 0;
}

2.测试结果:
在这里插入图片描述
3.比如QT中你继承了一个什么东西的时候,这里的写法需要注意一下
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲折耳根的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值