国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

C++ 封裝和泛化

2023-03-20 15:53 更新

一般情況下,封裝的意思是提取出一段代碼,包裝在一個(gè)函數(shù)里,這樣使你能夠在適合的地方使用此函數(shù)。我們已經(jīng)看到過(guò)兩個(gè)封裝的示例:4.3小節(jié)的printParity函數(shù)和5.8小節(jié)的isSingleDigit。

泛化的意思是提取出特例的代碼(如打印2的倍數(shù)),修改它使之更通用(如打印任意整數(shù)的倍數(shù))。

下面的函數(shù)封裝了前一小節(jié)的循環(huán)代碼,并泛化為打印n的倍數(shù)。

void printMultiples (int n)
{
    int i = 1;
    while (i <= 6) {
        cout << n*i << " ";
        i = i + 1;
    }
    cout << endl;
}

封裝要做的就是添加第一行代碼,聲明了函數(shù)名、參數(shù)和返回值類型。泛化要做的就是用參數(shù)n取代原來(lái)的2。

如果我們調(diào)用此函數(shù)時(shí),給參數(shù)賦值為2,我們的輸出就和之前一樣。如果參數(shù)值為3,則輸出為:

3 6 9 12 15 18

如果參數(shù)值為4,則輸出為:

4 8 12 16 20 24

現(xiàn)在你大概可以猜到我們將怎樣取打印乘法表:使用不同的參數(shù)值反復(fù)調(diào)用printMultiples。事實(shí)上我們將使用另一個(gè)循環(huán)來(lái)迭代打印各行。

int i = 1;
while (i <= 6) {
    printMultiples (i);
    i = i + 1;
}

首先要注意這個(gè)循環(huán)和printMultiples內(nèi)部那個(gè)循環(huán)的相似之處。我所做的只是用一句函數(shù)調(diào)用取代打印語(yǔ)句。

這段程序的輸出如下:

1 2 3 4 5 6
2 4 6 8 10 12
3 6 9 12 15 18
4 8 12 16 20 24
5 10 15 20 25 30
6 12 18 24 30 36

這就是一個(gè)(有點(diǎn)粗糙的)乘法表。如果你受不了這種粗糙,就請(qǐng)將列之間空格替換為制表符,看看輸出什么。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)