[求助]拷贝构造函数的问题
题目:写出下列程序的运行结果,请用增加拷贝构造函数的办法避免存在的问题。
#include<iostream>
using namespace std;
class Vector{
int size;
int* buffer;
public:
Vector(int s=100);
int& elem(int ndx);
void display();
void set();
~Vector();
};
Vector::Vector(int s){
buffer=new int[size=s];
for(int i=0;i<size;i++)
buffer[i]=i*i;
}
int &Vector::elem(int ndx){
if(ndx<0||ndx>=size){
cout<<"error in index"<<endl;
exit(1);
}
return buffer[ndx];
}
void Vector::display(){
for(int j=0;j<size;j++)
cout<<buffer[j]<<endl;
}
void Vector::set(){
for(int j=0;j<size;j++)
buffer[j]=j+1;
}
Vector::~Vector(){
delete[]buffer;
}
void main()
{
Vector a(100);
Vector b(a);
a.set();
b.display();
}
这里改怎么写。。我不会。。希望高手指教下。。谢谢