首先是构造函数,形式上,其名字与类的名称一样,永远没有返回值,声明是不需要加任何返回类型,包括void也不需要加。
调用时,在创建该类实例时会最先被调用;需要先在类的声明中进行声明,之后进行定义;
如
//声明
class classname
{
classname(void);
};
//定义
classname::classname(void)
{
//函数定义
}
销毁类的实例时要调用析构函数,形式为~classname();也是永远没有返回值,需要先声明后定义。
调用顺序:实例化对象时,先调用类的构造函数,然后执行函数的其他部分,当函数执行结束后,再调用析构函数销毁该实例化对象。
子类继承基类时,实例化子类对象时的顺序:
先调用基类的构造函数,然后是子类的构造函数,之后执行函数其他代码,当其他代码执行完成后,在退出函数时,需要销毁该子类实例化对象,先调用子类析构函数,再调用基类的析构函数。