c++ 动态数组类的创建和简单运用
程序员文章站
2022-07-15 08:40:01
...
#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;
}
上一篇: c++ 数组的定义 已经简单的运用
下一篇: Spring MVC 拦截器(转)