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
[5990] [질문] 서로 다른 타입의 구조체를 리스트에 넣으려면?
쌈개 [] 2332 읽음    2001-03-09 15:03
안녕하세요 임프님!!
환절기 감기 조심하시구요.. ^^

참으로 머리아픈 문제가 생겼네요..
예를 들어... 구조체 A, B, C 가 있습니다.

이걸 리스트로 관리하려고 하는데 현재는 void*로 처리하는데 문제가 바로 형 변환입니다.
즉 리스트에 A, B, C 를 삽입하려면

void *data;

if ( type == 0 )
     data = new A;
else if ( type == 1)
     data = new B;
else if ( type == 2)
     data = new C;

list->Add(data);

이렇게 했습니다.
그런데 이 거에 접근하려면 더욱 더 문제가 되네요. 타입을 알아야 멤버를 쓰니까요.
전 TypeList라고 int로 된 리스트를 하나 더 만들었습니다. 아래와 같이요

kind = *((int*)TypeList->Items[i]);

if ( kind == 0 )
      (A*)list->Items[i]
else if ( kind == 1 )
      (B*)list->Items[i]
.
.
.


게다가 문제는 저 구조체 종류가 40-50개를 넘는다는 거죠. 헐...
이렇게 되면 소스가 장난아니군요.. -_-;
글구 각 구조체들은 일부를 공유하긴 하지만 전혀 비슷한 구석도 없습니다. -_-

어떻게 해결책이 없을까요?
C++초보구요. 부탁드립니다.

+ -

관련 글 리스트
5990 [질문] 서로 다른 타입의 구조체를 리스트에 넣으려면? 쌈개 2332 2001/03/09
6007     Re:[질문] 서로 다른 타입의 구조체를 리스트에 넣으려면? 이영수` 2402 2001/03/10
5996     Re:[질문] 서로 다른 타입의 구조체를 리스트에 넣으려면? 박지훈.임프 2748 2001/03/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.