C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[58140] Re:[질문] 여러개의 TList 에 같은이름변수 접근(?)하기
Z [] 1072 읽음    2009-08-23 12:16
딸기빤쭈 님이 쓰신 글 :
: 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 모두 자료구조가 같은데 굳이 세 개로 해야 하는 이유를 모르겠군요...

+ -

관련 글 리스트
58139 [질문] 여러개의 TList 에 같은이름변수 접근(?)하기 딸기빤쭈 842 2009/08/23
58140     Re:[질문] 여러개의 TList 에 같은이름변수 접근(?)하기 Z 1072 2009/08/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.