问答题

使用VC6打开考生文件夹下的工程test13_1,此工程包含一个源程序文件test13_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果如下: n=2 n=5 n=7 源程序文件test13_1清单如下: #include<iostream.h> class Sample { int n; public: /*************** found ************+***/ Sample() Sample(int i){n=i;} /***************** found ********+**********/ void add(Sample s1,Sample s2) /***************** found ****************/ { this.n=s1->n+s2.n; } void disp(){cout<<"n="<<n<<endl;} }; void main() { Sample s1(2),s2(5),s3; s3.add(&s1,s2); s1.disp(); s2.disp(); s3.disp(); }

【参考答案】

(1)错误:Sample() 正确:Sample(){}(2)错误:void add(Sample s1,Sample ......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题

问答题
使用VC6打开考生文件夹下的工程test13_3。此工程包含一个test13_.cpp,其中定义了类Vector,但类的定义并不完整。请按要求完成下列操作,将程序补充完整。(1)完成构造函数的定义,把数据成员size初始化为参数s的值,数据成员buffer指向动态申请的int型size大小的空间。请在注释“ **1**”之后添加适当的语句。(2)完成拷贝构造函数的定义,注意解决多次删除的问题。请在注释“ **2**”之后添加适当的语句。(3)完成成员函数elem的定义,该函数返回buffer的第ndx个元素的值,注意如果ndx超界,请输出“error in index”。请在注释“ **3**”之后添加适当的语句。(4)完成析构函数的定义,要求先将字符d打印在屏幕上,再释放buffer指向的空间。请在注释“ **4**”之后添加适当的语句。输出结果如下:1234567891012345678910dd注意:除在指定的位置添加语句外,请不要改动程序中的其他语句。源程序文件test13_3清单如下:#include<iostream.h>#include<stdlib.h>class Vector{public:Vector(int s=100);Vector(Vector &v);int &elem(int ndx);void display();void set();~Vector();protected:int size;int *buffer;};Vector::Vector(int s){ ** 1 **}Vector::Vector(Vector &v){ ** 2 **for(int i=0; i<size; i++){*(buffer+i)=*(v.buffer+i);}}int &Vector::elem(int ndx){ ** 3 **{cout<< error in index <<endl;exit(1);}return buffer[ndx];}void Vector::display(){for(int j=0;j<size;j++)cout<<elem(i)<<endl;}void Vector::set(){for(int j=0;i<size;j++)elem(j)=j+1;}Vector::~Vector(){ ** 4 **}void main(){Vector a(10);Vector b(a);a. set();b. set();a. display();b. display();}