日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

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

 My鏡像站 2011-12-26

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

template<class T1,class T2>

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

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ù)中將兩個類型T1和T2分別設(shè)置成了int型和string類型。這樣一來,我們在程序的第15行和16行定義的整型變量和string型變量就可以在17行和18行被輸出,結(jié)果如下:

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

template<class T1,class T2=string>

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

show<int> a;

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

show<int ,string> a;

  整個程序示例如下:

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;
}

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

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多