C++ 关于对象数组的问题
我有这样一个类:#include<iostream>usingnamespacestd;classpoint{private:intx,y;public:staticin...
我有这样一个类:
#include<iostream>
using namespace std;
class point {
private:
int x,y;
public:
static int count;
point(int xx, int yy) :x(xx), y(yy) { count++; }
point() {count++}
};
int point::count = 0;
-------------------------------------------------------------------------------
如何写个数组类来装入这些point类,调用的时候直接用下标就可以了.
比如:
ArrPoint a(5);
a[0],a[1],a[2],a[3],a[4]
这样的调用方式? 展开
#include<iostream>
using namespace std;
class point {
private:
int x,y;
public:
static int count;
point(int xx, int yy) :x(xx), y(yy) { count++; }
point() {count++}
};
int point::count = 0;
-------------------------------------------------------------------------------
如何写个数组类来装入这些point类,调用的时候直接用下标就可以了.
比如:
ArrPoint a(5);
a[0],a[1],a[2],a[3],a[4]
这样的调用方式? 展开
2个回答
推荐于2018-04-05 · 知道合伙人软件行家
gongxinheng
知道合伙人软件行家
向TA提问 私信TA
知道合伙人软件行家
采纳数:55
获赞数:380
6年游戏开发经验。曾在多个MMO PC游戏以及手游项目担任主程。 目前在美国华盛顿州立大学留学并参与研究项目
向TA提问 私信TA
关注
展开全部
//重载 operator [] 就可以了
#include<iostream>
using namespace std;
class point {
private:
int x, y;
public:
static int count;
point(int xx, int yy) :x(xx), y(yy) { count++; }
point() { count++; }
};
class ArrPoint
{
private:
int size;
point* p;
public:
ArrPoint(int s)
{
p = new point[s];
size = s;
}
point& operator [](int i)
{
if(i >= size)
{
// 越界处理
}
return p[i];
}
};
int main()
{
ArrPoint a(5);
a[0], a[1], a[2], a[3], a[4];
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询