c 建構函式和析構函式

2021-10-18 03:04:13 字數 1673 閱讀 8626

stock food =

stock

("world cabbage"

,250

,1.25

);

stock food

("world cabbage"

,250

,1.25

);

stock *p=

newstock

("world cabbage"

,250

,1.25);

物件的位址賦給指標p,物件無名稱。

類名稱(

const 類名稱 &物件)

舊物件初始化新物件的時候,才會呼叫拷貝建構函式,如下面所示:

stringbad * p =

newstringbad

(motto)

;/ calls stringbad

(const stringbad &

)使用motto初始化乙個匿名物件,並且將新物件的位址賦給p指標

下面不會呼叫拷貝建構函式

按引數型別:

1.有參構造

2.無參構造

stock

(const string & co =

"error"

,int n =0,

double pr =

0.0);或

stock::

stock()

// default constructor

stock first

("concrete conglomerate");

/ calls constructor呼叫接收引數的建構函式

stock second()

;/declares a function宣告乙個返回值型別為stock的函式

stock third;

/ calls default constructor隱式呼叫預設建構函式

stock stock2 = stock (

"boffo objects",2

,2.0);

/ 指定物件的初始化,可能會建立臨時變數。

stock1 =

stock

("nifty foods",10

,50.0);

/ 賦值語句,在賦值語句中使用建構函式會導致在賦值前建立乙個臨時變數。

按型別分類:

1.普通建構函式

2.有參建構函式

explicit關鍵字

malloc,free

C 建構函式和析構函式

1.建構函式是類的一種特殊方法,每次建立類的例項都會呼叫它。在建立乙個類的例項時,建構函式就像乙個方法一樣被呼叫,但不返回值。語法格式 訪問修飾符 類名 特性 1 其名字必須與類名相同,例如 public class myclass 2 不能被直接呼叫,必須通過new運算子來 呼叫。publiccl...

C 建構函式和析構函式

建構函式 class rectangel rectangel int l,int w 這是帶引數的建構函式,建構函式都是沒有返回值,並且和該類同名 int area 這是另一種形式的內聯函式,把宣告和定義寫在一起的也是內聯函式 private int length int width 析構函式 cl...

c 建構函式和析構函式

1.c 的建構函式有預設建構函式,一般的建構函式,賦值建構函式,拷貝建構函式 複製建構函式 強制型別轉化建構函式。2.如果沒有定義建構函式和析構函式,則c 編譯器會按照 位拷貝 的方式提供預設的建構函式 不初始化 預設的賦值建構函式 淺賦值 預設的拷貝建構函式 淺拷貝 預設的析構函式。位拷貝要小心指...