向量1(类和对象)

题目描述

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对象,输出它们的值。

输入样例

6
10 1 2 3 4 5


输出样例

0 1 2 3 4
10 1 2 3 4 5
 

#include <iostream>
using namespace std;

class cvector
{
	int* data;
	int n;
public:
	cvector()
	{
		n = 5;
		data = new int[5]{ 0,1,2,3,4 };//记得new
	}
	cvector(int n1, int* a)
	{
		n = n1;
		data = new int[n];            //记得new
		for (int i = 0 ; i < n; i++)
			*(data + i) = *(a + i);  //新申请空间,一个一个复制
	}
	void print()
	{
		for (int i = 0; i < n; i++)
		{
			cout << *(data + i);
			if (i != n - 1)           //最后一个元素不需要空格
				cout << ' ';
		    else
				cout << endl;
		}

	}
	~cvector()
	{
		delete[]data;
	}
};

int main()
{
	int n;
	cin >> n;
	int* d = new int[n];   //记得new
	for (int i = 0; i < n; i++)
		cin >> *(d + i);
	cvector a;    //无参
	a.print();
	cvector b(n, d);//有参
	b.print();
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值