C++:默认生成的成员函数
C++默认生成4个成员函数.
默认结构函数(default constructor), 析构函数(destructor), 复制结构函数(copy constructor), 赋值函数(assignment);
个中析构函数, 会自动析构C++的根基范例数据.
"=default"暗示添加默认, 可以用于重载; "=delete"暗示删除, 即不利用默认;
以下代码主要展示, 复制结构函数 和赋值函数的生成环境.
代码:
/* * test.cpp * * Created on: 2014.04.14 * Author: Spike */ /*eclipse cdt, gcc 4.8.1*/ #include <iostream> #include <string> using namespace std; class Foo { public: Foo(std::string _name) : m_name(_name) {}; void say() { std::cout << m_name << std::endl;} Foo(const Foo&) = default; //delete暗示删除, default暗示利用默认 Foo& operator=(const Foo&) = default; ~Foo() = default; private: std::string m_name; }; int main() { Foo F1("Wang"); Foo F2(F1); Foo F3 = F2; F2.say(); F3.say(); return 0; }
输出:
Wang Wang
作者:csdn博客 Spike_King