问题 单项选择题

下面程序的运行结果是( )。
#include <iostream>
using namespace std;
template <class T>
class A
T x,y;
public:
A(T a,T b)x=a;y=b;
int add()return x+y;

void main()
A<double>a(7.8,3.4);
A<char>b(7.8,3.4);
cout<<a.add()<<","<<b.add();

A.10,10

B.11,11

C.11,10

D.以上答案都不对

答案

参考答案:C

解析: 模板函数的调用,执行语句A<double>a(7.8,3.4);后,则a.x=7.8、a.y=3.4;执行语句A<char> b(7.8,3.4);后,将对7.8和3.4转换为char类型,则b.x=7、b.y=3;函数 add()为整形,x+y将转换为整形。

单项选择题 A1/A2型题
单项选择题