c++ 动态数组类的创建和简单运用

#include<iostream>
#include<cassert>

using namespace std;

class Point{
public:
Point(int x,int y):x(x),y(y){
	cout<<"调用构造函数"<<endl;
}
Point():x(0),y(0){
	cout<<"调用默认构造函数"<<endl; 
}
~Point(){
	cout << "调用析构函数"<<endl; 
} 
int getx() const{return x;}
int gety() const{return y;}
void move(int newx, int newy){
	x = newx;
	y = newy;
} 
private:
	int x,y;
};

class ArrayOfPoints{ //动态数组类 
public:
	ArrayOfPoints(int size):size(size){ //构造函数中用动态类存分配的方式,按照初始值size指定的元素个数 分配内存空间 
		points =  new Point[size]; 
	}
	~ArrayOfPoints(){//释放points 内存 
		cout<< "释放....."<<endl;
		delete []points; 
	}
	Point& element(int index){//访问数组元素的方法 
		assert(index >= 0 && index < size);//下标范围 不能越界 
		return points[index]; //返回素组元素 
	}  
private:
	int size;//数组的大小
	Point *points; //指向动态数组首地址 
};

int main(){
int count;
cout<<"请输入点的个数"<<endl;
cin>>count;
ArrayOfPoints points(count);//创建数组对象 
points.element(0).move(5,0);//访问数据元素的成员
points.element(1).move(15,20);//访问数据元素的成员 
return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值