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
更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/cplus/
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c++
, 函数
, constructor
, default
, 生成
, 成员
默认析构函数
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。
时间: 2024-11-01 16:04:19