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

C/C++ Q/A
[225] Re:Re:Re:클래스 질문
김성철 [douner] 3309 읽음    2002-01-15 18:39
안녕하세요^^

파일안에서 쓸 때 전역 변수로 CondTaskClass 의 포인터를 선언해 둡니다.

CondTaskClass *pMyCond = NULL;

그런 다음 초기화 등을 해주는 함수등에서 동적할당을 하고

다른 함수들에서는 전역의 포인터를 이용해서 멤버함수나 멤버 변수에 접근할 수 있겠죠.

이렇게 할 때는 다른 함수들에서 멤버함수나 변수를 쓰기전에 pMyCond 가 동적할당 되어있는지

체크해야 되겠죠^^

그리고 주의 하실 점이 있는데요

다음과 같이

void SomeFunc()
{
   CondTaskClass myObj;
   ...
   pMyCond = myObj;
   ...
}

이렇게 하시면 클일 날 수 있겠죠.

SomeFunc() 라는 함수가 끝나면 myObj 는 자동 소멸 되므로 pMyCond 는 사라진 객체를 가리키고

있게 되는 거죠..

전역에다가 선언해서 공유하는 방법 외에 필요한 함수에다가 객체의 주소를 넘겨준다던지

하는 식으로 공유 할 수도 있겠고 객체의 리스트등을 준비해서 공유하는 방법 그리고 시스템 쪽으로

깊게 들어가면 공유메모리 등등을 사용할 수 있겠죠.. ;)

도움이 되길 바랍니다. 열심히 공부하세요 ^^

minjae 님이 쓰신 글 :
: coclass.h에 다음과 같이 선언
:
: class CondTaskClass
: {
: private:
: protected:
: public:
:     CondTaskClass()
:     {
:     }
:
:     ~CondTaskClass()
:     {
:     }
:     int  CondDisplay(float co);
:     void CondRead(void);
:     int     unit;
:     float   Temp;
: };
:
: 한 후
: main.cpp, setup.cpp 등에서 이 멤버변수를 사용하려고 할때 각 함수에서 객체를 생성하면
: 변수값을 공유할 수 없지 않나요?
:
:
: 죄송합니다. 제가 아직 초보라....
:

+ -

관련 글 리스트
222 클래스 질문 minjae 2426 2002/01/15
223     Re:클래스 질문 김성철 4410 2002/01/15
224         Re:Re:클래스 질문 minjae 3394 2002/01/15
225             Re:Re:Re:클래스 질문 김성철 3309 2002/01/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.