A-A+
下面程序的运行结果是()。 #include <iostream> using namesp
问题详情
下面程序的运行结果是()。 #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将转换为整形。