|
딸기빤쭈 님이 쓰신 글 :
: struct A {
: int id;
: int aa;
: ...
: };
:
: struct B {
: int id;
: int bb;
: ..
: };
:
: struct C {
: int id;
: int cc;
: ..
: };
:
: 이런식으로 여러 구조체가 있고(대략10개이상) 각각의 TList 에 넣어서 관리합니다.
: id는 리스트에서 가장큰값을 넣으려고 합니다
:
: 그런데 리스트가 여러개가 되다보니 함수하나를 만들어서 사용하면 편리할거같은데
: 구조체가 달라서 타입변환을 어떻게 하는지 모르겠군요
:
: int getID(TList * list)
: {
: int maxid;
: for (int i=0; i<list->count; i++)
: {
: Record = (A*)objList->Items[i]; <- 이부분 List에 담겨진 구조체를 알아서 구분해줄수없는지
: Record->id;
: if (maxid < Record->id)
: maxid = Record->id;
: }
: return maxid;
: }
:
: 이런식이면 함수 모듈을 만들려는데 구조체는달라도 id라는 항목이 같아서 가능할것도 같은데
: 좀 좋은방법이 없을까요?
struct TID
{
int id;
};
struct A : public TID
{
int aa;
};
struct B : public TID
{
int bb;
};
struct C : public TID
{
int cc;
};
Record = (TID*)objList->Items[i];
Record->id;
한편, A,B,C 모두 자료구조가 같은데 굳이 세 개로 해야 하는 이유를 모르겠군요...
|