一,构造函数概念
概念:函数名与类名相同,且没有返回值类型,这就是构造函数,它承担着类初始化的工作。
构造函数虽然名叫构造,但它并不是开空间创建对象,而是初始化对象。
分类:默认构造函数、一般构造函数、拷贝构造函数、转换构造函数、移动构造函数。
特点:
1,函数名与类名相同
2,无返回值
3,对象实例化时编译器自动调用对应的构造函数
4,构造函数可以重载
例:
class Date
{
public:
// 1.无参构造函数
Date()
{}
// 2.带参构造函数
Date(int year, int month, int day)
{
_year = year;
_month = month;
_day = day;
}
private:
int _year;
int _month;
int _day;
};
void TestDate()
{
Date d1; // 调用无参构造函数
Date d2(2015, 1, 1); // 调用带参的构造函数