国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

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

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

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

使用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ù)。希望這篇文章對你有所幫助!

標簽: