阅读下面程序:
include <iostream.h>
template <class T>
class TAdd
{
private:
T x, y;
public:
TAdd(T a, T b)
{
x=a;
y=b;
}
T add()
{
return x +y;
}
};
void main( )
{
TAdd<int>a(5,6);
TAdd<double>b(2.4,5.8);
cout<<"s1 ="<<A. add()<<",";
cout<<"s2="<<B, add()<<end1;
}
写出该程序的运行结果:【 】。
第1题:
以下程序的执行结果是( )。 #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>:: opetat
A.n=a
B.a=O
C.n=b
D.a=b
第2题:
程序填空题二: 请在答题框中给出程序中红色下划线处应填入的代码。 #include<iostream> using namespace std; template<class T> class A{ private: T x; public: A(T _x); }; ________________________________:x(_x) { cout<<"调用构造函数"<<endl; } int main() { A<int> obj(0); }
第3题:
利用TAdd模板类实现两个整数5和6的求和运算,则对象A的定义形式是() # include <iostream.h> # include <math.h> template <class T> class TAdd { T x,y; public: TAdd(T a,T b) { x=a,y=b;} T add() { return x+y;} }; void main() { cout << "s1=" << A.add() << endl; }
A.TAdd<int> A(5,6);
B.TAdd A(5,6);
C.TAdd int A(5,6);
D.int TAdd A(5,6);
第4题:
下面程序的输出结果是( )。 #include<iostream> using namespace std; template<class T> T max(T x,T y) { return(x>= y ? x:y);} template<class T> T max(T x,T y,T z) { T t; t=(x>=y ? x:y); return(t>=z ? t:z); } void main(){ int x = 10,y=18,maxi; float a = 1.2,b = 3.2,c = 2,max2; max1 = max(x,(int)c); max2 = max(a,b,(float)y); cout<<maxi<<endl; cout<<max2<<endl;
A.18 3.2
B.10 18
C.10 3.2
D.编译出错
第5题:
下列的模板说明中,正确的是()
A.template <typename T1, typename T2>
B.template <class T1, T2>
C.template < T1 class, T2 class >
D.template <typename T1; typename T2>