类函数
一.构造函数与析构函数
使用构造函数的原因:由于类的封装性,类的变量不能像普通变量一样初始化
作用:在对象被创建时使用特定的值构造对象或者说将对象初始化为一个特定的状态。
构造函数在对象创建时系统自动调用。
如果程序中未声明,则系统自动产生出一个缺省形式的构造函数。
二.拷贝构造函数
拷贝构造函数是一种特殊德尔构造函数,其形式为本类的对象引用。
作用:使用一个对象(参数制定的对象),去初始化一个正在被建立的同类型对象。
声明形式:
class 类名
{
public:
类名(形参); //构造函数
类名(类名 &对象名): //拷贝构造函数
........
}
类名::类名(类名 &对象名) //拷贝构造函数的实现
{函数体}
注意:有三种情况会调用拷贝构造函数
a.当用类的一个对象去初始化该类的另一个对象时系统自动调用它实现拷贝赋值
b.若函数的形参为类对象,调用函数时,实参赋值给形参,系统自动调用拷贝构造函数。
c.当函数的返回值时类的对象时,系统自动调用拷贝构造函数。
三.析构函数
作用:完成对象被删除前的一些清理工作
在对象的生存期结束的时刻系统自动调用它,然后再释放此对象所属的空间
如果程序中未声明析构函数,编译器将自动产生一个缺省的析构函数。