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

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

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

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

使用Dev-C 來編寫C 代碼

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

2. 點擊文件選項,選擇新建源代碼。此時新建的代碼文本還沒有命名,是一個空文件。為了方便日后找到文件,可以選擇另存為,并將文件保存在電腦的桌面上或任何其他盤符中。

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

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

例如,我們有一個Complex類:

```cpp

class Complex {

private:

double real, imag;

public:

Complex(Complex c) {

real ;

imag ;

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

}

};

```

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

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

```cpp

class CSample {

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

}

};

```

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

```cpp

class C1 {

public:

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

};

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

```

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

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

a. 用一個對象去初始化同類的另一個對象時:

```cpp

Complex c2(c1);

Complex c2 c1;

```

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

```cpp

void f(A a) {

a.x 1;

}

A aObj;

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

```

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

標簽: