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
[9293] Re:[질문] friend 로 클래스를 선언해서 그 클래스의 값을 불러 올려면? <- 반대로 하셨군요...
김민호 [xho95] 856 읽음    2001-07-24 20:55
안녕하세요...

질문을 보니까 TSerialThread가 TSerialCompo의 내용을 알고 싶다는 것 같은데요... 그러면 TSerialThread가 TSerialCompo의 "친구"가 되어야 하는데, 이학균님께서 하신거는 반대가 됩니다...

현재로서는 TSerialCompo가 TSerialThread의 존재를 모르므로 private 멤버를 참조할 수 없습니다.

class TSerialCompo: public TComponent
{
private:
     Handle PortHandle;
     friend class TSerialCompo;
}

class TSerialThread : public TThread
{
public :
     Handle GetPortHandle(TSerialCompo temp) { return temp.PortHandle; }; <- 하나의 예입니다.
                  :
                  :
}

이렇게 하면 됩니다. 제가 실습을 해서 확인해 보았는데, 혹시 잘못되면 다시 올려 주세요...

그럼... 즐넷하세요...

이학균 님이 쓰신 글 :
: 매번.. 질문만 드리네요.. 답변은 아는게 없어서 못해드리고요..
: 그래도 꼬박꼬박 답변 주시는 분들 정말 감사드려요.. 많은 도움이 되고 있답니다.
: 게시판에 friend로 아무리 찾아봐도 거기에 대한 마땅한 글이 없어서 직접 적습니다.
: 예를 들어...
: class TSerialCompo: public TComponent
: {
: private:
:        Handle PortHandle;
: }
:
: class TSerialThread : public TThread
: {
:      friend class TSerialCompo;
:                   :
:                   :
: }
: 이런식으로 선언을 하구요.. TSerialThread의 함수에서 TSerialCompo의 PortHandle이라는
: 변수를 불러와야 되는데, friend를 써서 얻어올 수 있는 방법이 없을까요?
: TSerialThread클래스 내에 TSerialCompo SerialCompo; 라고 선언하고 쓰레드 함수내에서
: SerialCompo->PortHandle이라고 해도 에러가 나고
: PortHandle을 전역변수로 두어도 에러가 나는군요..
: 그래서 꼭 friend를 써서 얻어올 수 있는 방법을 구하고 싶은데, 방법이 없을까요?
: 부탁드려요
:
:

+ -

관련 글 리스트
9282 [질문] friend 로 클래스를 선언해서 그 클래스의 값을 불러 올려면? 이학균 950 2001/07/24
9293     Re:[질문] friend 로 클래스를 선언해서 그 클래스의 값을 불러 올려면? <- 반대로 하셨군요... 김민호 856 2001/07/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.