C 自定義拷貝(複製)建構函式的用途

2021-06-08 11:48:43 字數 348 閱讀 9448

語法格式為:

拷貝建構函式原型的一般形式:類名(const  類名&形參物件名){};

建構函式的形參是本類物件的引用而不是本類的物件是為了防止引起拷貝建構函式無休止地遞迴呼叫。

一、預設拷貝建構函式。

class a{}

a a(3,2);

a b = a ;//呼叫拷貝建構函式

b = a//非初始化操作,為賦值操作。

二 自定義拷貝建構函式

如果建構函式中存在動態記憶體分配,則必須定義拷貝建構函式。否則,會出現「指標懸掛問題」。

class a

這種情況下,必須最定義拷貝建構函式。否則會造成兩個物件的成員指向同一位址。

自定義拷貝建構函式 預設的拷貝建構函式

自定義拷貝建構函式 類名 類名 const 類名 物件名 拷貝建構函式的函式體 利用下述語句呼叫拷貝建構函式 rectangle p2 p1 include using namespace std class rectangle public rectangle int len,int wid le...

何時需要自定義複製建構函式

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!一 一般情況 先看乙個例子 例程1 include using namespace std class complex complex double r,double i friend complex operator const complex ...

c 複製 拷貝建構函式

在c 中,定義乙個空類時,編譯器會預設宣告6個成員函式,它們分別是 class empty 注意 一下,編譯器預設合成的析構函式不是虛函式。首先,說一下什麼是拷貝建構函式 也可以叫複製建構函式 它是乙個特殊的建構函式,具有單個形參 此形參是對該類型別的引用,需要用const修飾,否則會無限迴圈呼叫複...