拷貝建構函式與賦值建構函式

2021-05-22 18:13:34 字數 508 閱讀 9501

//#include "stdafx.h"

#include #include using namespace std;

class a

a(a &a);//過載拷貝函式

a(int id,char* t_name)

~a()

char* name;

a& operator =(a& a)

//注意:此處一定要返回物件的引用,否則返回後其值立即消失!

name = temp;

return *this;

}protected:

private:

int _id;

}; a::a(a &a)

int main(int argc, char* argv)

{ a a(1,"james");

//a b = a;//b 還沒有存在物件,所以是拷貝建構函式,如果存在了,就是賦值函式

a b;

b = a;

cout<

拷貝建構函式與賦值建構函式

什麼時候用拷貝建構函式,和賦值建構函式 一 當用乙個已初始化過了的自定義類型別物件去初始化另乙個新構造的物件的時候,拷貝建構函式就會被自動呼叫。也就是說,當類的物件需要拷貝時,拷貝建構函式將會被呼叫。以下情況都會呼叫拷貝建構函式 乙個物件以值傳遞的方式傳入函式體 乙個物件以值傳遞的方式從函式返回 乙...

建構函式 拷貝建構函式 賦值建構函式

class和struct很大乙個區別在於,c除了成員的訪問控制許可權,struct中的成員預設是public,而class中的field預設是private class還有乙個special的地方是它有建構函式 constructor。建構函式是class中的一員,和成員變數 其他成員函式一起構成乙...

建構函式 拷貝函式 賦值建構函式

ifndef sample h define sample h include include struct qq int qqnum std string qqpassword 以下a,b,c,d分別為 a 沒有實現拷貝建構函式和賦值建構函式,所以會自動生成預設的拷貝建構函式和賦值建構函式 b 與...