C++ - 默认生成的成员函数

来源:互联网 发布:windows 10 修复bcd 编辑:程序博客网 时间:2024/06/06 00:46

默认生成的成员函数

 

本文地址: http://blog.csdn.net/caroline_wendy/article/details/23735723

 

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;}

输出:

WangWang



 

 

5 0
原创粉丝点击