构造函数+析构函数

构造函数

是在对象被创建时自动调用的函数,将对象初始化为一个特定的状态

构造函数的形式

  • 函数名与类名相同;

  • 不能定义返回值类型,也不能有return语句;

  • 可以有形式参数,也可以没有形式参数;

  • 可以是内联函数;

  • 可以重载

  • 可以带默认参数值。

C++11中可以用Clock()=default;来生成默认构造函数

复制构造函数

是指类的对象在创建的时候,能使用已有的对象之间初始化它。
或者是在类的对象在作为函数形参的时候,或者类的对象在作为函数返回值的时候
作为复制的机制需要自动拷贝类型值。

类名::类( const 类名 &对象名)//复制构造函数的实现

扫描二维码关注公众号,回复: 2111701 查看本文章
Point(const Point& p) //复制构造函数

C++11做法:用“=delete”指示编译器不生成默认复制构造函数。

Point(const Point& p) =delete;  //指示编译器不生成默认复制构造函数

析构函数

  • 完成对象被删除前的一些清理工作。
  • 在对象的生存期结束的时刻系统自动调用它,然后再释放此对象所属的空间。
  • 如果程序中未声明析构函数,编译器将自动产生一个默认的析构函数,其函数体为空。
  • 构造函数和析构函数举例

    前面+“~”

~Point();

猜你喜欢

转载自blog.csdn.net/d401692632/article/details/81003963