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

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

編輯:關於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

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