有如下程序: include using namespace std; template T total(T * data)有如下程序:include<iostream>using namespace std;template<typename T>T total(T * data) {T s=0;While(* data)s+ = *data + +;return s;}int main(){int x[]:{2,4,6,8, 10, 12, 14, 16, 18};cout<<total(x);

题目
有如下程序: include using namespace std; template T total(T * data)

有如下程序:

include<iostream>

using namespace std;

template<typename T>

T total(T * data) {

T s=0;

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

return s;

}

int main(){

int x[]:{2,4,6,8, 10, 12, 14, 16, 18};

cout<<total(x);


相似考题
更多“有如下程序: include<iostream> using namespace std; template<typename T> T total(T * data) ”相关问题
  • 第1题:

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

    有如下程序: #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::ndl; return 0; } 执行后的输出结果是

    A.42,42

    B.23,23

    C.23,42

    D.42,23


    正确答案:B
    解析:x为引用,双向的;而y为值传递,单向的。

  • 第2题:

    如下程序的输出结果是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。

  • 第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题:

    有如下程序: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]的值没有改变。

  • 第5题:

    程序的结果为______。include"iostream.h" template T total(T*data) { Ts=0; while(

    程序的结果为______。

    include"iostream.h"

    template<typename T>

    T total(T*data)

    Ts=0;

    while(*data)

    S+=*data++;

    return S;

    int main()

    {int x[]={2,4,6,8,0,12,14,16,18};

    cout<<total(x);

    retum 0;

    cout<<endl;}


    正确答案:20
    20