C++——构造函数是开空间创建对象还是初始化对象?

1、构造函数的概念

有如下代码:

class Date
{
public:
	void SetDate(int year, int month, int day)
	{
		_year = year;
		_month = month;
		_day = day;
	}
	void PrintDate()
	{
		cout << _year << "-" << _month << "-" << _day << endl;
	}
private:
	int _year;
	int _month;
	int _day;
};
void test()
{
	Date d;
	d.SetDate(2020, 10, 18);
	d.PrintDate();
}
int main()
{
	test();
	system("pause");
	return 0;
}

对于Date类,可以通过SetDate函数给对象设置内容,但是每次创建对象都调用会很麻烦,则有了构造函数

构造函数一个特殊的成员函数,名字与类名相同,无返回值,创建类类型对象时由编译器自动调用,在对象的生命周期内只使用一次

注意:构造函数并不是开空间创建对象,而是初始化对象

简单构造函数举例:

C++——构造函数是开空间创建对象还是初始化对象?_第1张图片

2、构造函数可以重载

你可能感兴趣的:(C++)