第十九节 C++ - 带初始化列表的构造函数

本文探讨了C++中的初始化列表构造函数,通过示例展示了如何使用初始化列表来初始化类的成员变量,强调了其在构造过程中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/* Human.h */
#include <string>

class Human {
private:  
	std::string name; 
	unsigned int age;

public:
	/*构造函数与类同名,在创建对象时被调用,当没有定义构造函数时,系统将调用一个默认的构造函数
	* 析构函数,在对象被销毁时调用
	*/
	Human(std::string str, unsigned int num);//带默认参数的重载构造函数, 只在声明的地方写值,定义的地方可以不写
	Human::~Human();
	void setName(std::string str); 
};

/*Human.cpp*/
#include <iostream>
#include "Human.h"

Human::Human(std::string str, unsigned int num) : name(str), age(num) //初始化列表写在构造函数定义的地方
{
	//name = str; //有个初始化列表,这里可删除,初始化列表不产生临时变量,
	//age = num; // 而这里的赋值,产生临时变量,尽量使用初始化列表,来初始化变量
	std::cout << "2 call Human(----) name = " << name << std::endl;
}

Human::~Human()
{
	std::cout << "3 call ~Human() the name is " <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值