填空题

使用VC6打开考生文件夹下的工程test37_1,此工程包含一个源程序文件test37_1.cpp,但该程序运行有问题,请改正函数中的错误,使该程序的输出结果为: 0 1 4 9 16 25 36 49 64 81 源程序文件test37_1.cpp清单如下: #include<iostream.h> template <class T, int N = 100> class Vector { T vec[N]; public: void set(int pos, T val); T get(iht pos); /***************** found *****************/ } template <class T, int N> void Vector<T, N>::set(int pos, T val) { vec[pos] = val; } /***************** found *****************/ template <class T, int N> Vector<T, N>::get(int pos) { return vec[pos]; } int main () { Vector<double, 10> v; int i = 0; double d = 0.0; for (i = 0; i < 10; i++) v.set(i, double(i * i)); for (i = 0; i < 10; i++) cout<<v.get(i)<<" "; cout<<end1; /***************** found *****************/ }

【参考答案】

(1) 错误:}
热门 试题

问答题
使用VC6打开考生文件夹下的工程test37_3。此工程包含一个test37_3.cpp,其中定义了类Letter和Number以及Grid,其中Grid类由Letter类和Number类public派生,但三个类的定义并不完整。请按要求完成下列操作,将程序补充完整。(1)添加类Letter的带一个参数c的构造函数,c是char型的数据,默认值为’A’,该函数把参数c的值赋给类的保护成员ch,请在注释“ **1**”之后添加适当的语句。(2)添加类Number的带一个参数n的构造函数,n是int型的数据,默认值为0,该函数把参数n的值赋给类的保护成员num,请在注释“ **2**”之后添加适当的语句。(3)添加派生类Grid构造函数的定义,传入的参数为char型的c和血型的n,并将其分别赋值给基类的ch和num,请在注释“ **3**”之后添加适当的语句。(4)完成派生类Grid的友元函数——“<<”运算符重载的定义,使其以格式“[g.ch,g.num]”输出,请在注释“ **4 **”之后添加适当的语句。源程序文件test37_3.cpp清单如下:#include<iost ream. h>class Letter{protected:char ch;public: ** 1 **};class Number{protected:int num;public: ** 2 **};class Grid : public Letter, public Number{public: ** 3 **friend ostream& operator<<(ostream &o,Grid &g);}; ** 4 **{o << [ << g.ch << , << g.num << ] ;return o;}int main ( ){Grid g(’C’, 3);cout << Grid reference: << g << end1;return 0;}