请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程projl,此工程包含一个源程序文件proj1.cpp。文件中将表示数组元素个数的常量Size定义为4,并用int类型对类模板进行了实例化。文件中位于每个注释“//ERROR****found*

admin2021-06-10  17

问题 请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程projl,此工程包含一个源程序文件proj1.cpp。文件中将表示数组元素个数的常量Size定义为4,并用int类型对类模板进行了实例化。文件中位于每个注释“//ERROR****found****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:
    1    2    3    4
    注意:模板参数名用T。只修改注释“//ERROR********found********”的下一行语句,不要改动程序中的其他内容。
1    //projl.cpp
2    #include
3    using namespace std;
4    //将数组元素个数Size定义为4
5    //ERROR  ********found********
6    const int Size;
7     template
8    clasS MyClasS
9    {
10    public:
11  MyClasS(T*P)
12  {
13  for(int i=0;i14    array=p
15    }
16    void Print();
17    private:
18  T array[Size];
19  };
20
21    template
22  //ERROR  ********found********
23  void MyClasS::Print()
24  {
25  for(int i=0;i26    cout<<<’\t’;
27  }
28
29  int main()
30  {
31  int intArray[Size]={1,2,3,4};
32    //ERROR********found********
33  MyClassobj(intArray);
34    obj.Print();
35    cout<36    return 0;
37    }

选项

答案(1)const int Size=4; (2)void MyClass::Prjnt() (3)MyClassobj(intArray);

解析 (1)主要考查考生对const变量的掌握,因为const变量不能修改,所以在定义的同时必须初始化。
    (2)主要考查考生对模板类的成员函数定义的掌握,因为MyClass类是模板类,所以在定义该函数时要加上模板标识符“”,即语句void MyClass::Print()。
    (3)主要考查考生对模板类构造函数的调用的理解,从上一条语句int intArray[Size]={1,2,3,4};中可以知道intArray为int型,因此定义obj时要使用,即MyClassobj(intArray);。
转载请注明原文地址:https://kaotiyun.com/show/YAfp777K
0

最新回复(0)