类默认生成的六个成员函数
一、构造函数
我们知道,类的数据成员是不能在声明类的时候初始化的,因为类并不是一个实体,而是一种抽象的数据类型,并不占据存储空间。为了解决这个问题,C++提供了构造函数来处理对象的初始化。
1、构造函数的作用
构造函数是一种特殊的成员函数,与其他成员函数不同,构造函数是在对象被实例化的时候自动被调用的,而且只执行这一次,它不能被用户调用。构造函数没有this指针。
构造函数的名字是固定的,与类名相同,不能由用户任意命名,它没有类型,没有返回值。
构造函数的功能是由用户自己定义的,用户根据初始化的要求设计函数体和函数参数。
如果用户自己没有定义构造函数,则C++系统会自动生成一个构造函数,称作默认构造函数或者缺省构造函数。只是这个构造函数是空的,不执行任何操作,但还是会被调用。
例:设计一个日期类,并定义构造函数
classdate
{
public:
date() //构造函数
{
_year = 0; //初始化为0
_month = 0;
_day = 0;
}
private:
int _year; //一般数据成员以_开头或者以m_开头
int _month;
int _day;
};
2、带参的构造函数