问答题

改错题 使用VC6打开考生文件夹下的工程test7_1,此工程包含一个源程序文件test7_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下: Constructor1 Constructor1 Constructor1 Destructor Constructor2 Destructor x=0 x=5 Destructor Destructor 源程序文件test1_1.cpp清单如下: #include class B { int x; public: B(){x=0;cout<<"Constructor1"< 【参考答案】

(1)错误:~B(int i){cout<
(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)

热门 试题

问答题
综合应用题使用VC6打开考生文件夹下的工程test13_3。此工程包含一个test13_3.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 #includeclass 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(j)<<endl;}void Vector::set(){for(int j=0;j<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();}