首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,此工程包含一个源程序文件proj1.cpp。文件中将表示数组元素个数的常量Size定义为4,并用int类型对类模板进行了实例化。文件中位于每个注释“//ERROR****found****”之后的一行语句存在错误
请打开考生文件夹下的解决方案文件proj1,此工程包含一个源程序文件proj1.cpp。文件中将表示数组元素个数的常量Size定义为4,并用int类型对类模板进行了实例化。文件中位于每个注释“//ERROR****found****”之后的一行语句存在错误
admin
2018-07-06
40
问题
请打开考生文件夹下的解决方案文件proj1,此工程包含一个源程序文件proj1.cpp。文件中将表示数组元素个数的常量Size定义为4,并用int类型对类模板进行了实例化。文件中位于每个注释“//ERROR****found****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:
1 2 3 4
注意:模板参数名用T。只修改注释“//ERROR********found********”的下一行语句,不要改动程序中的其他内容。
//proj1.cpp
#include<iostream>
using namespace std;
//将数组元素个数size定义为4
//ERROR********found********
const int size;
template<typename T>
class MyClasS
{
public:
MyClass(T*p)
{
for(int i=0;i<Size;i++)
arrays
=p[j];
}
void Print( );
private:
Tarray[size];
};
template<typename T>
//ERROR*******found*******
void MyClass::Print( )
{
for(int i=0;i<size;i++)
cout<<array
<<’\t’;
}
int main( )
{
int intArray[Size]={1,2,3,4};
//ERROR*******found*******
MyClass<double>obj(intArray);
obj.Print( );
cout<<endl;
return0;
}
选项
答案
(1)const int Size=4; (2)void MyClass<T>::Print( ) (3)MyClass<inl>obj(intArray);
解析
(1)主要考查考生对eonst变量的掌握,因为const变量不能修改,所以在定义的同时必须仞始化。
(2)主要考查考生对模板类的成员函数定义的掌握,因为MyClass类是模板类,所以在定义该函数时要加上模板标识符“<T>”,即语句void MyClass<T>::Print( )。
(3)主要考查考生对模板类构造函数的调用的理解,从上一条语句int intArray[Size]={1,2,3,4};中可以知道intArray为int型,因此定义obj时要使用<int>,即MyClass<int>obj(intArrav);。
转载请注明原文地址:https://kaotiyun.com/show/JAAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在C++程序中,如果要求通过函数来实现一种简单的功能,并且要求尽可能加快程序的执行速度,则应该选用()。
下列程序的输出的结果是()。#include<iostream.h>voidmain(){inti,k,a[10],p[3];k=5;for(i=0;i<9;i++)a[i]=i;
有如下类定义:classFoo{public:Foo(intv):value(v){}//①~Foo(){}//②
类模板template<classT>classx{...},其中友元函数f对特定类型T(如int),使函数f(x<int>)成为x<int>模板类的友元,则其说明为()。
对建立良好的程序设计风格,下列描述中正确的是()。
有下列程序:#include<iostream>usingnamespacestd;classVAC{public:intf()const{return3;}
有如下函数模板声明:template<typenameT>TMax(Ta,Tb){return(a>-b)?a:b;}下列对函数模板Max()的调用中错误的是()。
设有下定义的语句:inta[3][2]={10,20,30,40,50,60};intb[3][2]={10,20,30,40,50,60};则a[1][1]*b[2][1)的结果为()。
随机试题
下列关于计算机发现史的叙述中,错误的是_______。
Americanshaveasenseofspace,notofplace.GotoanAmericanhomeoutsidethecity,andalmostthefirstthingyoudoisdri
胃火炽盛之牙衄,最宜在清胃散基础上加
A.骨质疏松B.骨质软化C.骨质破坏D.骨质增生硬化E.骨膜增生脊柱骨质密度减低,骨小梁减少,间隙增宽,椎体上、下缘向内凹陷变扁,呈鱼脊椎样是
负债融资中应该采取何种利率结构,需要考虑的因素有()。
根据《票据法》的规定,被追索人在向持票人支付有关金额及费用后,可以向其他汇票债务人行使再追索权。下列各项中,属于被追索人可请求其他汇票债务人清偿的款项有()。
前后相继的现象之间的联系就是因果联系。()
把下列句子组成语意连贯的一段文字,排序最恰当的一项是:①《禹贡》主要以山脉、河流和海洋为自然分界,把所描述的地区分为九州,不受当时诸侯割据形势的局限,把广大地区作为一个整体来研究,分别阐述九州的山川、湖泽、土壤、物产等,是自然区划思想的萌芽②此后,主要
“先论证、后决策”是现代项目管理的基本原则,关于建设方的项目论证,下列说法中,(34)是不正确的。
Howtoliveto100Agrowingbodyofresearchsuggeststhatchronicillnessisnotaninevitableconsequenceofaging,butmo
最新回复
(
0
)