执行下面程序输出的是【】。 include using namespace std;template T tot执行下面程序输出的是【 】。include <iostream>using namespace std;template <typename T>T total(T *data){Ts=0;while( *data) s+=*data++;return s;}int main(){int s[]={1,3,5,7,0,2,4,6,8};cout<<total(s);return 0;}

题目
执行下面程序输出的是【】。 include using namespace std;template T tot

执行下面程序输出的是【 】。

include <iostream>

using namespace std;

template <typename T>

T total(T *data){

Ts=0;

while( *data) s+=*data++;

return s;

}

int main(){

int s[]={1,3,5,7,0,2,4,6,8};

cout<<total(s);

return 0;

}


相似考题
更多“执行下面程序输出的是【】。 include <iostream> using namespace std;template <typename T> T tot ”相关问题
  • 第1题:

    有如下程序:include void fun(int& x, int y){int t=x;x=y;y=t;}int main (){int

    有如下程序: #include <iostream> void fun(int& x, int y){int t=x;x=y;y=t;} int main () { int a[2]={23,42}; fun(a[1],a[0]); std::cout<<a[0]<<","<<a[1]<<std::endl; return 0; } 执行后的输出结果是

    A.42,42

    B.23,23

    C.23,42

    D.42,23


    正确答案:B
    解析:本题考核函数的调用以及参数值的传递。函数fun中的第一个参数采用引用传值方式,函数中对形参值的改变同样作用于实参上;第二个参数采用按值传值方式,函数中对形参的操作不会影响到实参。所以main函数中调用fun函数后,a[1]的值被修改为a[0]的值,而a[0]的值没有改变。

  • 第2题:

    以下程序的执行结果是()。includetemplateclass Sample{ T n;Public: Samp

    以下程序的执行结果是( )。 #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


    正确答案:C

  • 第3题:

    以下类模板成员函数定义正确的是:

    A.template<class T> auto MyClass::foo(){ std::cout << "Aloha World!"<<std::endl; }#B.template<class T> auto MyClass<T>::foo(T t){ std::cout << t << std::endl; }#C.void MyClass<T>::foo(T t){ std::cout << t << std::endl; }#D.template<class T, int S> S MyClass<T, S>::foo(T t, S s){ s = static_cast<S>(t); std::cout << s << std::endl; retu
    template auto MyClass ::foo(T t){ std::cout <

  • 第4题:

    如下程序的输出结果是includevoid fun(int & X,inty){intt=x;x=y;y=t;}int main(){in

    如下程序的输出结果是 #include<iostream> void fun(int & X,inty){intt=x;x=y;y=t;} int main( ){ int a[2]={23,42}; fun(a[1],a[0]); std::cout<<a[0]<<","<<a[1]<<std::endl; return 0; }

    A.42,42

    B.23,23

    C.23,42

    D.42,23


    正确答案:B
    解析:参数X是引用传递,传递的是地址:参数Y是值传递,函数fun( )是做X与Y值交换,交换后X的值要被回传给a[1],此时a[1]=a[0]=23。

  • 第5题:

    下面程序的输出结果是()。includeusing namespace std;templateT max(T x,T

    下面程序的输出结果是( )。 #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.编译出错


    正确答案:B
    解析:本道题考查函数模板以及函数模板重载的使用,max1=max(x,(int)c)语句会实例化Tmax(Tx,Ty)函数模板,返回两个int数据中的最大值;max2=max(a,b,(float)y);语句会实例化Tmax(Tx,Ty,T2)函数模板,返回3个float数据中的最大值。