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