程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++ - 默認生成的成員函數

C++ - 默認生成的成員函數

編輯:C++入門知識

默認生成的成員函數

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

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 
#include 

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


\

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved