关于CArray的一些问题求助
每次利用Add()将对象添加到数组pts中
但是最终pts.GetSize()的结果永远是1
调试的时候发现每执行一次pts.GetSize()
m_pData都是一个新的值(值是正确的,就是说是我希望传进数组里的那个值)
m_nSize和m_nMaxSize都是1
初学者,求轻喷
相关代码如下
//CGeoPolyline.cpp
void CGeoPolyline::AddPoint(CPoint pt)
{
pts.Add(pt);
}
void CGeoPolyline::Draw(CDC *pDC)
{
int size =pts.GetSize();
for(int i=0;i<size;i++)
{
if(i==0)
pDC->MoveTo(pts[i]);
else
pDC->LineTo(pts[i]);
}
//pDC->Polyline(pts.GetData(),size);
}
//CGeoPolyline.h
#pragma once
#include "GeoObject.h"
#include "afxtempl.h"
class CGeoPolyline :
public CGeoObject
{
public:
CArray<CPoint,CPoint>pts;
void AddPoint(CPoint pt);
void Draw(CDC *pDC);
CGeoPolyline(void);
~CGeoPolyline(void);
};