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

備忘之 拷貝構造函數

編輯:C++入門知識

//拷貝構造函數,什麼時候算是 “合適的時候”,才會合成呢~~~


#include
using namespace std;


class A
{
public:
A(char *_str):str(_str),x(0){}
//A(const A&a){cout << "call default copy constructor..." << endl;} //如果定義了的話,那麼編譯器不會合成。
//如果沒有定義的話,對於類A來說,編譯器依然不會合成,因為此時的對象之間的復制很簡單,就是一個int與一個char *的復制。
//此時,你可能已經注意到了,這個類含有指針,應該自己定義復制控制函數。但這並不是我本篇文章想要強調的東西。
~A(){}
int getX() const {return x;}
char *getStr() const {return str;}


private:
int x;
char *str;
};
int main()
{
A a("123");
A b = a;
cout << b.getX() << " " << a.getX() << endl;
cout << b.getStr() << " " << b.getStr() << endl;


return 0;

}


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