当前位置:首页 > C+ + 程序设计(04737) > 正文内容

​#include <iostream.h> template<class T> T func

程序分析题:阅读程序后,填写程序的正确运行结果。


​#include <iostream.h> 

template<class T>
T func(T x,T y){
if(sizeof(T)==8)
return x+y;
else
return x*y;
}
void main(){
cout <<func(8,5)<<":"<<func(5.0,10.0)<<endl;
int d;cin>>d:
}


【正确答案】:

40:15


【题目解析】:

sizeof() 是一个判断数据类型或者表达式长度的运算符。 

使用类模板,用户可以为类定义一种模式,使得类中的某些成员变量、默认成员函数的参数、某些成员函数的返回值及局部变量能取任意类型。
8和5是int类型数据占4个字节,5.0和10.0是double型数据,占8 个字节。故if(sizeof(T)==8)的含义是整数返回乘积,小数返回和,即先返回乘积,再返回和,答案为40:15


扫描二维码免费使用微信小程序搜题/刷题/查看解析。

版权声明:本文由翰林刷题小程序授权发布,如需转载请注明出处。

本文链接:https://20230611.cn/post/243873.html