问题 A: 向量1(类和对象)
时间限制: 1 Sec 内存限制: 128 MB
题目描述
n个有序数a1,a2,...,an组成的数组称为n维向量。 为n维向量定义CVector类,包含私有数据成员:
int *data;//存储n维向量
int n; //向量维数。
方法有:无参构造函数,设置n=5,data的数据分别为0,1,2,3,4;构造函数,用虚参n1和数组a初始化n和data的数据;输出函数,按格式输出n维向量的值;析构函数。
主函数输入数据,生成CVector对象并调用输出函数测试。
输入
输入n
输入n维向量
输出
分别调用无参和带参构造函数生成2个CVector对象,输出它们的值。
样例输入
6
10 1 2 3 4 5
样例输出
0 1 2 3 4
10 1 2 3 4 5
提示
Solution:
#include<iostream>
using namespace std;
class CVector{
private:
int *data;
int n;
public:
CVector(){
n = 5;
data = new int[5];
// oj 支持快速初始化:
// data = new int[5]{0,1,2,3,4};
data[0] = 0;data[1] = 1;data[2] = 2;data[3] = 3;data[4] = 4;
}
CVector(int n1,int* a){n = n1; data = a;}
~CVector(){delete data;}
void print(){
cout<<data[0];
for(int i =1;i<n;i++){
cout<<" "<<data[i];
}
cout<<endl;
};
};
int main()
{
CVector cv;
int n;
cin>>n;
int *a = new int[n];
for(int i = 0;i<n;i++)
cin>>a[i];
cv.print();
CVector c(n,a);
c.print();
return 0;
}