C OOP 複製建構函式和賦值操作符

2021-10-12 17:10:45 字數 1205 閱讀 4344

賦值建構函式

賦值操作符

#include

#include

#include

using namespace std;

class sales_item

;sales_item

(const std:

:string &book)

:isbn

(book)

,units_sold(0

),revenue

(0.0

)// 賦值建構函式

// 如果沒有定義,c++會給我們定義

// 使用自定義建構函式的情況: 成員存在指標

sales_item

(const sales_item &orig)

:isbn

(orig.isbn)

,units_sold

(orig.units_sold)

,revenue

(orig.revenue)

;// 賦值操作符

// 如果沒有定義,c++會給我們定義

// 使用自定義賦值操作符的情況: 成員存在指標

sales_item operator =

(const sales_item &rhs)

;private:

std:

:string isbn;

unsigned units_sold;

double revenue;};

sales_item foo

(sales_item item)

class noname

noname

(const noname &other)

:pstring

(new std:

:string(*

(other.pstring)))

,i(other.i),d

(other.d)

noname& operator=

(const noname &rhs)

private:

std:

:string *pstring;

int i;

double d;};

intmain()

;return0;

}

C OOP 建構函式

設計乙個類的時候必須寫上乙個建構函式 include include using namespace std class person private std string name int age intmain include include using namespace std class ...

區別建構函式,複製建構函式和賦值操作符函式

定義example類,該類給出了建構函式,複製建構函式和賦值操作符函式,各個成員函式輸出自己的函式名。主函式裡以不同方式使用example物件。作為非引用形參,引用形參,動態分配,函式返回值,賦值操作,作vector容器元素,以此研究建構函式,複製建構函式和賦值操作符函式。ifndef test h...

預設建構函式 建構函式 複製建構函式和賦值操作符

這幾個概念比較容易混淆,總結一下。預設建構函式是沒有引數 和類同名的建構函式。當乙個類沒有任何建構函式時,編譯器將會合成乙個預設建構函式。那麼編譯器合成的預設建構函式是做什麼用的呢?是初始化類的成員變數嗎?事實上不是。編譯器合成的預設建構函式只是滿足編譯器的需要,而不是按照程式設計師想的去做。更詳細...