复制控制
复制构造函数
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(){};
}
一般如果类需要析构函数,则它也需要赋值操作符和复制构造函数。
版权声明:本文为博主原创文章,未经博主允许不得转载。