文章目录
class a
{
public:
a()://初始化列表
{
//初始化
}
~a()
{
//收拾一下
}
};
构造函数
类实例化成为对象时就调用
与类同名
我与系统有个约定,我和类要同名
没有返回值
本身就不需要,就算有返回值也不会返回给你,应该给系统
没有返回值就是没有,不是void
有参数,可以重载
可以有多个
调用顺序
复用情况
- 组合(嵌套)
外层的构造函数晚于内层构造函数被调用 - 继承
//学到继承再补
时空情况
- 空间
堆空间(生命周期由程序员决定)
栈空间(当前作用域内)
全局空间(跟程序一样,与天地兮比寿,与日月兮同光) - 时间
文本顺序
析构函数
对象销毁的时候调用
~类名
没有返回值
没有参数,不能重载
只有一个
调用顺序
跟构造函数调用顺序完全相反
构造函数和析构函数的作用时间
对象空间的分配与释放是系统干的事,与构造函数和析构函数无关。
但是对象空