資料類(lèi)別 | 計(jì)算機(jī)等級(jí)考試二級(jí)C++習(xí)題與解析:模板 |
資料格式 | WORD格式 |
資料來(lái)源 | 考試吧 (Exam8.com) |
資料下載: | 點(diǎn)擊這里下載 |
內(nèi)容預(yù)覽:
01.分析以下程序的執(zhí)行結(jié)果
#include<iostream.h>
template <class T>
T max(T x,T y)
{
return (x>y?x:y);
}
void main()
{
cout<<max(2,5)<<","<<max(3.5,2.8)<<endl;
}
解:
本題說(shuō)明函數(shù)模板的使用方法。max()函數(shù)是一個(gè)函數(shù)模板,它返回兩個(gè)參數(shù)中的較大者。在調(diào)用時(shí)自動(dòng)聯(lián)編相應(yīng)的max()函數(shù)。所以輸出為:5,3.5
注意:T為類(lèi)型形式參數(shù),可包含基本數(shù)據(jù)類(lèi)型,也可以包含類(lèi)類(lèi)型,不能是普通的數(shù)據(jù)變量。
02.分析以下程序的執(zhí)行結(jié)果
#include<iostream.h>
template <class T>
class Sample
{
T n;
public:
Sample(T i){n=i;}
void operator++();
void disp(){cout<<"n="<<n<<endl;}
};
template <class T>
void Sample<T>::operator++()
{
n+=1; // 不能用n++;因?yàn)閐ouble型不能用++
}
void main()
{
Sample<char> s(’a’);
s++;
s.disp();
}
解:
本題說(shuō)明類(lèi)模板的使用方法。Sample是一個(gè)類(lèi)模板,由它產(chǎn)生模板類(lèi)Sample<char>,通過(guò)構(gòu)造函數(shù)給n賦初值,通過(guò)重載++運(yùn)算符使n增1,這里n由’a’增1變成’b’。
所以輸出為:n=b
查看全文:計(jì)算機(jī)等級(jí)考試二級(jí)C++習(xí)題與解析:模板.doc
希望與更多計(jì)算機(jī)等級(jí)考試的網(wǎng)友交流,請(qǐng)進(jìn)入計(jì)算機(jī)等級(jí)考試論壇
更多信息請(qǐng)?jiān)L問(wèn):考試吧計(jì)算機(jī)等級(jí)考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |