모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    와일두캣님의
    개인페이지입니다
    가입 : 17-02-12
    방문 : 102회
    닉네임변경 이력
    회원차단
    회원차단해제
    게시물ID : programmer_20022
    작성자 : 와일두캣
    추천 : 0
    조회수 : 530
    IP : 219.240.***.125
    댓글 : 11개
    등록시간 : 2017/03/20 23:33:29
    http://todayhumor.com/?programmer_20022 모바일
    C++ 에서 이런 클래스 구조로는 작성할 수 없나요?
    옵션
    • 본인삭제금지
    어떤 C++로 간단한 라이브러리를 만들고 있는데요..!

    라이브러리에 정의된 클래스 A,B가 있습니당.

    B는 생성자에서, 

    new A(*this) 를 호출해 멤버 변수로 저장하고 있구, A의 생성자에서 짐작하실 수 있듯이, A역시 B의 reference type을 들고 있는데요..!
    뿐만 아니라, 멤버변수를 통해 B는 A의 멤버함수를, A는 B의 멤버함수를 호출까지 하고 있습니당.

    이때.. 이런 구조로 클래스를 작성하려면, A.h라는 헤더 파일에 A의 선언과 정의를 전부 작성하고 B.h 라는 헤더 파일에 B의 선언과 정의를 전부 작성해선 안되잖아요??

    해결 하는 방법은 B 와 A의 선언과 정의를 각각 h파일과 cpp파일로 나누어, 링킹하는 방법이 있을건데요..

    제가 만들고픈 라이브러리의 형태는, 따로 static library가 필요한 library가 아닌, header 만 있어도 사용가능하게 하고 싶어서요 ㅠㅠ

    불가능 할까요??

    요약 : header-only library에서, 서로가 서로의 정의까지 필요한 class 들을 설계할 수 있나요??

    이해를 들기 위해 클래스 A랑 B를 잠시 써보면..

    A.hpp

    #ifndef _A_HPP_

    #define _A_HPP_


    #include "B.hpp"


    class A {

    public:

      A(B& b):b_(b) { }

      void foo()

      {

        b_.foo();

      }

      B& b_;

    };


    #endif

    ========================


    B.hpp


    #ifndef _B_HPP_

    #define _B_HPP_


    #include "A.hpp"


    class B {

    public:

      B() { a = new A(*this); }

      void foo()

      {


      }

      A *a;

    };


    #endif


    이 게시물을 추천한 분들의 목록입니다.
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    30
    켈레서스 갈아도 될까요?? [5] 와일두캣 18/02/19 22:58 42 0
    29
    어떤 서비스의 클라이언트가 직접 data base에 접근? [9] 와일두캣 18/01/10 19:58 68 0
    28
    서비스 중인 서버를 뭐라고 부르나요?? [8] 베스트금지본인삭제금지 와일두캣 18/01/04 21:53 72 0
    27
    이젠 돈좀 애껴써야겠어유 [1] 와일두캣 17/12/22 02:15 51 1
    26
    본삭금] 키보드에서 bottom plate가 뭔가요?? [4] 베스트금지본인삭제금지 와일두캣 17/12/21 01:13 45 2
    25
    c언어에서.. pointer type의 typedef 관련해서요!! [4] 본인삭제금지 와일두캣 17/12/12 18:25 54 0
    24
    리포트에 소스코드 일부분 첨부할때.. [4] 와일두캣 17/12/02 18:58 80 0
    23
    롱패딩 너무 길까요?? [4] 본인삭제금지 와일두캣 17/11/21 02:56 207 0
    22
    localtime(time(NULL)) ?? [1] 본인삭제금지 와일두캣 17/11/20 21:31 50 0
    21
    OOP 초보가 질문드려요.. [6] 본인삭제금지 와일두캣 17/11/17 02:44 101 0
    20
    클래스이름 PacketJoin vs JoinPacket.. [7] 본인삭제금지 와일두캣 17/11/14 23:51 58 0
    19
    linux kernel에서의 interrupt에 관해 질문.. [5] 본인삭제금지 와일두캣 17/11/06 05:43 114 0
    18
    패드 고민하다가.. [8] 와일두캣 17/10/22 16:08 266 9
    17
    엑박 엘리트 패드 지금 살만할까요? [5] 본인삭제금지 와일두캣 17/10/22 02:08 144 1
    16
    옷에 곰팡이가 피었어요 ㅠㅠ.. 와일두캣 17/08/15 20:57 52 0
    15
    c32hg70 어떤가요?? 본인삭제금지 와일두캣 17/07/23 19:00 35 1
    14
    코딩하시는 분들은 4k vs 21:9 어떤게 취향이신가요?? [10] 와일두캣 17/07/22 13:36 75 0
    13
    다크소울3와 폴아웃4 중에 고민.. [4] 와일두캣 17/07/02 20:11 88 5
    12
    물알못이..당구 생각하다 궁금해진 기초 상식 질문드려요!!! [5] 본인삭제금지 와일두캣 17/06/02 00:33 82 0
    11
    요새 쉐이더 공부를 하고있는데요..! [1] 와일두캣 17/05/30 17:15 51 0
    10
    이번 운고로팩은 언제 열어볼 수 있나요?? [3] 본인삭제금지 와일두캣 17/04/06 16:08 73 0
    9
    udp 게임서버를 짜려고 하는데요...! [1] 본인삭제금지 와일두캣 17/04/06 03:11 33 0
    8
    공유기 환경에서 udp protocol을 사용할 때, 두 클라이언트의 구 [3] 본인삭제금지 와일두캣 17/04/04 18:51 46 1
    C++ 에서 이런 클래스 구조로는 작성할 수 없나요? [11] 본인삭제금지 와일두캣 17/03/20 23:33 39 0
    6
    C++ 에서 함수이름 앞에 붙는 &는 무슨 의미인가요..? [4] 본인삭제금지 와일두캣 17/03/20 02:13 103 0
    5
    프로토콜 버퍼의 성능은 어느정도인가요?? [3] 와일두캣 17/03/01 01:48 45 0
    4
    c++ code convention 질문이요..! [7] 와일두캣 17/02/27 18:33 38 1
    3
    학부생입니다. 리눅스 위에서의 서버 프로그래밍은 적합하지 않은가요? [12] 본인삭제금지 와일두캣 17/02/25 23:23 62 0
    2
    하스스톤에 내면 어쩌구 저쩌구 하고 까마귀 소리 나는 카드요..!! [4] 와일두캣 17/02/21 11:54 77 0
    1
    shared memory 로 프로세스간 C++ 인스턴스를 공유 [11] 본인삭제금지 와일두캣 17/02/12 10:52 54 0
    [1]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈