게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c++ enumeration(열거?)과 scope 도움부탁드려요
게시물ID : computer_53518짧은주소 복사하기
작성자 : 흠냐암
추천 : 0
조회수 : 265회
댓글수 : 4개
등록시간 : 2012/07/24 10:01:51
*일단 각 클래스들은 서로 다른 파일에 저장되어있고 .h 와 .cc로 모듈화 시켜놔서 누가 먼저 정의 되었는지는 고려하지 않아도 되는 상황입니다*

class A에 4가지 항목이 enumerate 되어있는데요,

class A{
  ...
  protected:
  enum ALPHA{ A, B, C, D };
  ...
}

이 class A가 B라는 class의 함수중 하나를 부르면서 이 enum value 중 하나를 넘깁니다

class B{
  ...
  ...
  public:
  void receive(ALPHA al){
     ....
  }

}

이런식으로요...... 다만 class B에는 ALPHA 들이 enumerate 되어 있지 않기 때문에 

class A 로 scope (::) 해줘야 할텐데, scope의 위치가 어디인지 몰라서 질문드립니다

void B::receive(A::ALPHA al){
     ....
  }

이렇게 해야 되나요?

아니면

void B::receive(ALPHA al){
     
  A::ALPHA a = al;
  ....
  }

이런 식으로 해야하나요???

enumeration을 global 로 바꿀수는 없습니다. enumeration은 반드시 class A안에 남아야 하는 상황이에요.....

조언 부탁드리겠습니다
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호