// 呼叫拷貝建構函式的三種情況
#include
using
namespace
std;
class rectangle
;rectangle::rectangle(int len, int wid)
// 呼叫①
rectangle::rectangle(const rectangle &p)
// 呼叫② 物件作函式引數
void fun1(rectangle p)
// 呼叫③ 函式返回值為物件
rectangle fun2()
int main()
執行結果:
using normal constructor
3040
using copy constructo
6080
using copy constructo
6080
using copy constructo
6080
using xigou constructor.
using normal constructor
using xigou constructor.
1030
using xigou constructor.
using xigou constructor.
using xigou constructor.
--------------------------------
process exited after 0.1117 seconds with
return value 0
請按任意鍵繼續. . .
conclusion:
①當類物件作為函式引數,呼叫函式時,在形參中的物件會呼叫拷貝建構函式
②當類物件作為函式型別時,main函式中呼叫該函式的物件不會執行拷貝建構函式
C 建構函式 拷貝建構函式
建構函式 class base private int m var 建構函式無返回值型別,函式名和型別相同。拷貝建構函式傳遞引數為引用。1 class base2 7 拷貝建構函式 8 base base ref m var ref m var 9 11 private 12 intm var 13...
C 學習篇 拷貝建構函式
在學習這一章內容前我們已經學習過了類的建構函式和析構函式的相關知識,對於普通型別的物件來說,他們之間的複製是很簡單的,例如 int a 10 int b a 自己定義的類的物件同樣是物件,誰也不能阻止我們用以下的方式進行複製,例如 include using namespace std class ...
C 學習筆記 拷貝建構函式
拷貝建構函式是一種特殊的建構函式 1 它是建構函式,所以函式名是類名 沒有返回值 2 它是特殊的建構函式 引數形式是固定的 class object 拷貝建構函式的含義 以乙個物件為藍本,來構造另乙個物件。object b object a b 稱作 以b為藍本,建立乙個新的物件a。a是b的乙個拷貝...