問題 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;
}