C++ - 默认生成的成员函数
2014-04-15 09:17
471 查看
默认生成的成员函数
本文地址: 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; }
输出:
Wang Wang
相关文章推荐
- 关于指针的一些事情
- “百度与站长”更新:关于网站收录,删除,seo等
- 用vbs删除某些类型文件和磁盘空间报告的脚本
- QQ聊天记录删除了怎么恢复简单方法
- vbs删除注册表项的代码
- 迅速删除非法文件名的批处理代码
- 通过批处理实现删除运行、查找等处的历史记录的代码
- 删除文件提示文件正在被另一个人或程序使用的解决方法
- 关于.LDB文件 .ldb文件的产生 .ldb文件的删除方法
- asp 合并记录集并删除的sql语句
- SQLserver 数据库危险存储过程删除与恢复方法
- sql自增长设置与删除的深入分析
- linux oracle数据库删除操作指南
- mssql SA帐号的改名和删除
- UTF-8 编码中BOM的检测与删除
- C/C++数据对齐详细解析
- C++中引用的使用总结
- C与C++之间相互调用实例方法讲解
- C++中引用(&)的用法与应用实例分析
- 解析C++ 浮点数的格式化输出