完成程序题:请按空格顺序填写答案。
使程序执行结果为:40:15
#include <iostream.h>
template<class T>
T func(T x,T y){
if(sizeof(T)==8)
return ______________;
else
return _______________;
}
void main(){
cout <<func(8,5)<<":"<<func(5.0,10.0)<<endl;
int d;cin >>d:
}
【正确答案】:
第1空:X+Y
第2空:X*Y
【题目解析】:
sizeof() 是一个判断数据类型或者表达式长度的运算符。
本题中,输出“func(8,5)”:"<<func(5.0,10.0)”的结果为40:15,即要求先输出乘法结果,后输出加法结果。
使用类模板,用户可以为类定义一种模式,使得类中的某些成员变量、默认成员函数的参数、某些成员函数的返回值及局部变量能取任意类型。
8和5是int类型数据占4个字节,5.0和10.0是double型数据,占8 个字节。故符合条件返回x+y,否则返回x*y。