构造函数与析构函数:
特殊函数:由系统自动执行,在程序中不可显式地调用它们
构造函数的作用:建立对象时对对象的数据成员进行初始化
析构函数的作用:对象生命周期结束时回收对象
构造函数
1.构造函数的作用:建立对象时对对象的数据成员进行初始化
2.是与类同名的特殊成员函数
3.没有返回值
4.可以有多个,带参或者无参均可
默认构造函数:
1c++规定,每个类必须有构造函数
2.如果一个类没有定义任何构造函数,在需要时编译器将会为它生成一个无参的、函数为空的默认构造函数
3.默认构造函数只是在形式上保证创建对象时必须有构造函数。
4.一旦写了一个构造函数,系统就不再提供默认的构造函数
构造函数特点:
1.构造函数与类同名
2.构造函数没有返回类型
3.构造函数由系统自动调用,不允许在程序中显式调用,
4.构造函数可以被重载,即一个类中可以定义多个参数或参数类型不同的构造函数
析构函数
作用:回收撤销对象
1.析构函数主要用于对象生命期结束时回收对象
2.与类同名,在其前面加上字符'~'
3.没有返回值
4.只有一个,无参
默认析构函数:
1.如果一个类没有定义任何析构函数,系统会为它生成一个默认析构函数。
2.对大多数类,默认析构函数能够满足要求。
3.只有在一个对象完成其操作之前需要做一些内部处理时,才显式地定义析构函数。
//Stdafx.h 可以使用 "stdio.h" "tchar.h"代替
#include
#include
#include
using namespace std;
class A
{
public:
A()
{
cout<<"A() constructor called"<