复制控制

复制构造函数

C++支持两种初始化形式:直接初始化和复制初始化,直接初始化直接调用与实参匹配的构造函数,复制初始化总是调用复制构造函数。复制初始化使用 =符号。

class Foo{
public: 
    Foo();
    Foo(const Foo&);
}

复制操作符

复制初始化必须使用 =,当如果类没有赋值操作符时,我们需要重载操作符。

class Foo
{
public:
      Foo();
      Foo(const Foo&);
      Foo& operator=(const Foo&);
}

析构函数

析构函数可以回收资源。

何时使用析构函数

1.变量超出作用域时应该自动撤销。
2.撤销一个容器时。

析构函数

class Foo
{
public:
      Foo();
      Foo(const Foo&);
      Foo& operator=(const Foo&);
      ~Foo(){};
}

一般如果类需要析构函数,则它也需要赋值操作符和复制构造函数。

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2015-10-02 00:18  mlhy  阅读(109)  评论(0编辑  收藏  举报