问答题
【参考答案】
(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();}
点击查看答案&解析
问答题
改错题使用VC6打开考生文件夹下的工程test7_1,此工程包含一个源程序文件test7_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:Constructor1Constructor1Constructor1DestructorConstructor2Destructorx=0x=5DestructorDestructor源程序文件test1_1.cpp清单如下:#includeclass B{int x;public:B(){x=0;cout<< Constructor1 <<endl;}B(int i){x=i;cout<< Constructor2 <<endl;}~B(){cout<< Destructor <<endl;} **********found********** ~B(int i){cout<<i<< be Destructor <<endl;}void print(){ cout<< x= <<x<<endl;}};void main(){B *ptr;ptr=new B[2]; **********found********** ptr[0]=B(0); ptr[1]=B(5); **********found********** for(int i=0;i<2;)ptr[i].print();delete []ptr;}
点击查看答案&解析
相关试题
综合应用题使用VC6打开考生文件夹下的工程...
改错题使用VC6打开考生文件夹下的工程test...