小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

“模板”學(xué)習(xí)筆記(8)

 My鏡像站 2011-12-26

一個(gè)模板中可以具有多個(gè)參數(shù),即可以在一個(gè)模板中聲明多個(gè)自定義的類型,如下面這句話:

template<class T1,class T2>

  而我們就可以利用這兩個(gè)參數(shù)聲明一個(gè)具有2種類型的成員。下面我用一個(gè)程序說下演示一下這個(gè)問題:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
using namespace std;
template<class T1,class T2>
class show
{
public:
    void show1(T1 &a){cout<<"show1:"<<a<<endl;}
    void show2(T2 &a){cout<<"show2:"<<a<<endl;}
};
 
int main()
{
    show<int,string> a;
    int temp1=5;
    string temp2="Hello,C++!";
    a.show1(temp1);
    a.show2(temp2);
    return 0;
}

  在上面的程序中,我在主函數(shù)中將兩個(gè)類型T1和T2分別設(shè)置成了int型和string類型。這樣一來(lái),我們?cè)诔绦虻牡?5行和16行定義的整型變量和string型變量就可以在17行和18行被輸出,結(jié)果如下:

另外一個(gè)需要注意的問題,我們也可以為模板參數(shù)提供默認(rèn)的類型,比如說:

template<class T1,class T2=string>

  這樣一來(lái),我們就把T2參數(shù)默認(rèn)設(shè)置成了string類型。那么在上面主程序中,我們把14行換成:

show<int> a;

  這樣還是相當(dāng)于:

show<int ,string> a;

  整個(gè)程序示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
using namespace std;
template<class T1,class T2=string>
class show
{
public:
    void show1(T1 &a){cout<<"show1:"<<a<<endl;}
    void show2(T2 &a){cout<<"show2:"<<a<<endl;}
};
 
int main()
{
    show<int> a;
    int temp1=5;
    string temp2="Hello,C++!";
    a.show1(temp1);
    a.show2(temp2);
    return 0;
}

  輸出與上面一模一樣,這里我就不把它粘上來(lái)了,^_^

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多