|
| 资料类别 |
2007年下计算机等级考试二级C++习题与解析 |
| 资料格式 |
WORD格式 |
| 资料来源 |
计算机考试网 (Pckao.com) |
| 资料下载: |
点击这里下载 |
内容预览:
01.分析以下程序的执行结果 #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; } 解: 本题说明函数模板的使用方法。max()函数是一个函数模板,它返回两个参数中的较大者。在调用时自动联编相应的max()函数。所以输出为:5,3.5 注意:T为类型形式参数,可包含基本数据类型,也可以包含类类型,不能是普通的数据变量。
02.分析以下程序的执行结果 #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++;因为double型不能用++ } void main() { Sample<char> s(’a’); s++; s.disp(); } 解: 本题说明类模板的使用方法。Sample是一个类模板,由它产生模板类Sample<char>,通过构造函数给n赋初值,通过重载++运算符使n增1,这里n由’a’增1变成’b’。 所以输出为:n=b
|