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