如下类的定义,根据已有代码,把类的定义补充完整,即定义出拷贝构造函数和析构函数。class Vector{public: Vector(int s=100); Vector(Vector &v); ~Vector();Protected: int size; int *buffer;};Vector::Vector(int s){ buffer=new int[size=s]; for(int i=0; i<size; i++) buffer[i]=i*i;}
时间: 2023-06-01 09:05:40 浏览: 124
const &v); ~Vector(); //析构函数 //其他成员函数私有变量private: double* elem; int sz; //向量中元素的数量};class Vector{public: Vector(int s=100); Vector(Vector const &v); ~Vector(); //析构函数 Vector& operator=(Vector const&); double& operator[](int i); int size() const; //其他成员函数私有变量private: double* elem; int sz; //向量中元素的数量};
相关问题
3.已有如下类的定义,根据已有代码,把类的定义补充完整,即定义出拷贝构造函数和析构函数。 class Vector { public: Vector(int s=100); Vector(Vector &v); ~Vector(); Protected: int size; int *buffer; }; Vector::Vector(int s) { buffer=new int[size=s]; for(int i=0; i<size; i++) buffer[i]=i*i; }
const& v); ~Vector(); private: int size; double* elem; };
class Vector {
public:
Vector(int s=100); // 默认构造函数
Vector(Vector const& v); // 拷贝构造函数
~Vector(); // 析构函数
private:
int size;
double* elem;
};
// 拷贝构造函数的实现
Vector::Vector(Vector const& v)
: size{v.size}, elem{new double[v.size]}
{
for (int i=0; i<size; ++i)
elem[i] = v.elem[i];
}
// 析构函数的实现
Vector::~Vector()
{
delete[] elem;
}
3.已有如下类的定义,根据已有代码,把类的定义补充完整,即定义出拷贝构造函数和析构函数并写出主函数。 class Vector { public: Vector(int s=100); Vector(Vector &v); ~Vector(); Protected: int size; int *buffer; }; Vector::Vector(int s) { buffer=new int[size=s]; for(int i=0; i<size; i++) buffer[i]=i*i; }
&v); // 拷贝构造函数 ~Vector(); // 析构函数 }; int main() { Vector v1(10); // 创建一个元素个数为10的Vector对象 Vector v2(v1); // 使用拷贝构造函数创建一个元素个数和v1相同的Vector对象 return 0; }
阅读全文