构造函数
是在对象被创建时自动调用的函数,将对象初始化为一个特定的状态
构造函数的形式
函数名与类名相同;
不能定义返回值类型,也不能有return语句;
可以有形式参数,也可以没有形式参数;
可以是内联函数;
可以重载;
可以带默认参数值。
C++11中可以用Clock()=default;
来生成默认构造函数
复制构造函数
是指类的对象在创建的时候,能使用已有的对象之间初始化它。
或者是在类的对象在作为函数形参的时候,或者类的对象在作为函数返回值的时候
作为复制的机制需要自动拷贝类型值。
类名::类( const 类名 &对象名)//复制构造函数的实现
扫描二维码关注公众号,回复:
2111701 查看本文章
Point(const Point& p) //复制构造函数
C++11做法:用“=delete”指示编译器不生成默认复制构造函数。
Point(const Point& p) =delete; //指示编译器不生成默认复制构造函数
析构函数
- 完成对象被删除前的一些清理工作。
- 在对象的生存期结束的时刻系统自动调用它,然后再释放此对象所属的空间。
- 如果程序中未声明析构函数,编译器将自动产生一个默认的析构函数,其函数体为空。
构造函数和析构函数举例
前面+“~”
~Point();