动态数组类的问题?

来源:百度知道 编辑:UC知道 时间:2024/05/02 16:16:09
程序如下:
#include <iostream>
using namespace std;
class Point
{
public:
Point()
{X=Y=0; cout<<"Default Constructor called."<<endl;}
Point(int xx,int yy)
{X=xx;Y=yy;cout<<"Constructor called."<<endl;}
~Point()
{cout<<"Destructor called."<<endl;}
int GetX() {return X;}
int GetY() {return Y;}
void Move(int x,int y)
{X=x;Y=y;}
private:
int X,Y;
};

class ArrayOfPoints
{
public:
ArrayOfPoints(int n)
{ numberOfPoints=n;points=new Point[n];}
~ArrayOfPoints()
{ cout<<"Deleting..."<<endl;
numberOfPoints=0,delete[] points;
}
Point&Element(int n)
{return points[n];}
private:
Point *points;
int numberOfPoints;
};

int main()
{
int number;
cout<<"Please enter the number of points:&quo

1.Element函数返回点n 这个对象的引用.
2.ArrayOfPoints类的构造函数使用points=new Point[n] 动态生成了n个Point对象的数组,而且他的私有变量point指向该地址.

1.Point&Element(int n)
Point& 函数返回值类型
Element 函数名
int n 函数参数

2.ArrayOfPoints有个元素是Point指针
private:
Point *points;