卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

手把手教你如何使用C 復(fù)制構(gòu)造函數(shù)

C 是一種非常廣泛使用的計(jì)算機(jī)編程語(yǔ)言,作為C語(yǔ)言的繼承,它支持多范型的通用程序設(shè)計(jì)語(yǔ)言。C 可以支持過(guò)程化程序設(shè)計(jì)、數(shù)據(jù)抽象化、面向?qū)ο蟪绦蛟O(shè)計(jì)、泛型程序設(shè)計(jì)等多種程序設(shè)計(jì)風(fēng)格。C 在系統(tǒng)開(kāi)發(fā)

C 是一種非常廣泛使用的計(jì)算機(jī)編程語(yǔ)言,作為C語(yǔ)言的繼承,它支持多范型的通用程序設(shè)計(jì)語(yǔ)言。C 可以支持過(guò)程化程序設(shè)計(jì)、數(shù)據(jù)抽象化、面向?qū)ο蟪绦蛟O(shè)計(jì)、泛型程序設(shè)計(jì)等多種程序設(shè)計(jì)風(fēng)格。C 在系統(tǒng)開(kāi)發(fā)、引擎開(kāi)發(fā)等應(yīng)用領(lǐng)域得到廣泛應(yīng)用,深受程序員的喜愛(ài)。

使用Dev-C 來(lái)編寫(xiě)C 代碼

1. 首先,雙擊或右擊打開(kāi)桌面上的Dev-C 軟件,確保它已經(jīng)成功運(yùn)行。Dev-C 是一個(gè)適合于初學(xué)者使用的入門(mén)級(jí)C/C 集成開(kāi)發(fā)環(huán)境(IDE),在Windows窗口運(yùn)行環(huán)境下非常方便。

2. 點(diǎn)擊文件選項(xiàng),選擇新建源代碼。此時(shí)新建的代碼文本還沒(méi)有命名,是一個(gè)空文件。為了方便日后找到文件,可以選擇另存為,并將文件保存在電腦的桌面上或任何其他盤(pán)符中。

復(fù)制構(gòu)造函數(shù)的定義和使用

C 中的復(fù)制構(gòu)造函數(shù)形如X::X(X ),只有一個(gè)參數(shù)即對(duì)同類對(duì)象的引用。如果沒(méi)有定義自己的復(fù)制構(gòu)造函數(shù),編譯器會(huì)生成默認(rèn)的復(fù)制構(gòu)造函數(shù)。

例如,我們有一個(gè)Complex類:

```cpp

class Complex {

private:

double real, imag;

public:

Complex(Complex c) {

real ;

imag ;

cout << "Copy Constructor called" << endl;

}

};

```

在這個(gè)例子中,如果沒(méi)有定義復(fù)制構(gòu)造函數(shù),編譯器會(huì)生成默認(rèn)的復(fù)制構(gòu)造函數(shù)。

注意,不允許定義形如X::X(X)的構(gòu)造函數(shù),例如:

```cpp

class CSample {

CSample(CSample c) { // 錯(cuò)誤,不允許這樣的構(gòu)造函數(shù)

}

};

```

即使缺省的不帶參數(shù)的構(gòu)造函數(shù)不存在,缺省的復(fù)制構(gòu)造函數(shù)仍然存在。例如:

```cpp

class C1 {

public:

C1() {} // 默認(rèn)構(gòu)造函數(shù)

};

C1 c1, c2(c1); // 使用默認(rèn)構(gòu)造函數(shù)初始化c1和c2

```

復(fù)制構(gòu)造函數(shù)的調(diào)用情況

復(fù)制構(gòu)造函數(shù)在以下三種情況下被調(diào)用:

a. 用一個(gè)對(duì)象去初始化同類的另一個(gè)對(duì)象時(shí):

```cpp

Complex c2(c1);

Complex c2 c1;

```

b. 如果某個(gè)函數(shù)的參數(shù)是類A的對(duì)象,那么當(dāng)該函數(shù)被調(diào)用時(shí),類A的復(fù)制構(gòu)造函數(shù)將被調(diào)用:

```cpp

void f(A a) {

a.x 1;

}

A aObj;

f(aObj); // 調(diào)用A的復(fù)制構(gòu)造函數(shù),將aObj作為參數(shù)傳入函數(shù)

```

通過(guò)以上步驟,你已經(jīng)了解了如何使用C 的復(fù)制構(gòu)造函數(shù)。希望這篇文章對(duì)你有所幫助!

標(biāo)簽: