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
[4114] Re:클래스 인스턴스를 여러개 파일에서 쓰려면 어떻게....
박지훈.임프 [cbuilder] 3300 읽음    2000-09-25 00:00
초학자 님이 쓰신 글 :
: 콘솔 프로그램밍.
: a.h 에서 class aa를 선언 했어요.
: 그리고 a.cpp 에서 인스턴스를 만들고 그것을 b.cpp 에서도 사용하려면 어떻게 해야 되나요.
: 고마워요.^^



임펠리테리입니다.

C++에서 클래스는 타입이고 클래스의 인스턴스는 그 타입의 변수라는 것을 상기하시기 바랍니다. 일반적인 전역변수를 다른 모듈에서 억세스하기 위해서는 extern 키워드를 사용하면 됩니다. 이때 클래스의 인스턴스(타입이 아닌 실제 변수)는 헤더파일에서 만들어서는 안됩니다.

먼저 클래스의 선언은 헤더에 하고, cpp파일에서 전역변수를 만듭니다. 또 헤더에 그 변수의 extern 선언을 합니다.
// a.h에서
class aa
{
...
};
extern aa value;

// a.cpp에서
aa value;
...

그리고 b.cpp에서 그 헤더를 인클루드하고 다시 extern 선언을 하면 됩니다.
// b.h에서
extern aa value;

빌더에서 자동으로 만들어주는 기본 프레임워크(프로그램 뼉다구)를 살펴보면, 빌더에서도 폼 객체를 이와 같은 방법으로 extern 선언을 하여 다른 폼에서 사용할 수 있도록 해주는 것을 알 수 있습니다.

그럼 참고하시길...

+ -

관련 글 리스트
4105 클래스 인스턴스를 여러개 파일에서 쓰려면 어떻게.... 초학자 3176 2000/09/25
4114     Re:클래스 인스턴스를 여러개 파일에서 쓰려면 어떻게.... 박지훈.임프 3300 2000/09/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.