问答题

【参考答案】

(A)void swap(int *px,int *py){int temp; temp=*px; *px=*py; *......

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

问答题
综合应用题使用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();}