- 미사일 객체의 데이타를 관리한다고 가정
// By Helloezzi
// 2012.5.30
///////////////////////////////////////////////////////////////////////
// missileData.h
#pragma once
#include <vector>
using namespace std;
struct _POS
{
_POS()
{
xPos = yPos= zPos = distance = 0;
}
_POS( const _POS& _src)
{
xPos = _src.xPos;
yPos = _src.yPos;
zPos = _src.zPos;
distance = _src.distance;
}
double distance;
double zPos;
double xPos;
double yPos;
};
class CMissileData
{
public:
CMissileData(void);
~CMissileData(void);
public:
void AddPosData(_POS pos);
void DelPosData(int id);
_POS FindPosData(int id);
void DelAllPosData();
bool GetLastPos(_POS& _pos);
public:
vector<_POS> m_Pos;
};
///////////////////////////////////////////////////////////////////////
// missileData.cpp
#include "StdAfx.h"
#include "MissileData.h"
CMissileData::CMissileData(void)
{
}
CMissileData::~CMissileData(void)
{
DelAllPosData();
}
void CMissileData::AddPosData(_POS pos)
{
m_Pos.push_back(pos);
}
void CMissileData::DelPosData(int id)
{
int iCnt = 0;
vector<_POS>::iterator itor = m_Pos.begin();
for( ; itor != m_Pos.end(); ++itor )
{
if( iCnt == id )
{
itor = m_Pos.erase( itor );
return;
}
++iCnt;
}
}
// HRESULT CMissileData::FindPosData(int id, _POS& _Pos)
// {
//
// return S_OK;
// }
_POS CMissileData::FindPosData(int id)
{
int iCnt = 0;
vector<_POS>::iterator itor = m_Pos.begin();
for ( ; itor != m_Pos.end(); ++itor)
{
if (iCnt == id)
{
_POS pos = *itor;
return pos;
}
++iCnt;
}
}
void CMissileData::DelAllPosData()
{
m_Pos.clear();
}
bool CMissileData::GetLastPos(_POS& _pos)
{
int temp = m_Pos.size();
if (NULL == temp)
{
return false;
}
_pos = m_Pos.at(temp -1);
return true;
}
'Programing > C++' 카테고리의 다른 글
IPv4 주소를 확인하는 C++ 정규식 코드 (0) | 2023.05.04 |
---|---|
c++ 파일 쓰기 예제코드 (0) | 2023.03.11 |
C vs C++ 의 차이점 (0) | 2023.02.27 |
C++ 커리큘럼 가이드 (0) | 2023.02.26 |
Struct (0) | 2011.02.10 |