注册 登录
编程论坛 C++教室

[求助]拷贝构造函数的问题

kyan54 发布于 2007-07-01 09:41, 635 次点击

题目:写出下列程序的运行结果,请用增加拷贝构造函数的办法避免存在的问题。
#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();
}

这里改怎么写。。我不会。。希望高手指教下。。谢谢

2 回复
#2
wfpb2007-07-01 09:56
Vector::Vector(const Vector& v)
{
buffer=new int[size=v.size];
for(int i=0;i<size;i++)
buffer[i]=v.buffer[i];
}
#3
kyan542007-07-01 10:11
谢谢了
1