모바일 오유 바로가기
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도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    ㅜ_ㅠ님의
    개인페이지입니다
    가입 : 13-11-29
    방문 : 369회
    닉네임변경 이력
    회원차단
    회원차단해제
    게시물ID : programmer_11365
    작성자 : ㅜ_ㅠ
    추천 : 0
    조회수 : 409
    IP : 14.32.***.127
    댓글 : 1개
    등록시간 : 2015/06/17 17:41:52
    http://todayhumor.com/?programmer_11365 모바일
    C++에서 맴버함수를friend로 지정할때 전역 함수로 지정해야 하나요?

    Soen페이지의 아래의 소스에 대한 설명을 보면 


    "Date는 날짜를 표현하는 클래스이며 Time은 시간을 표현하는 클래스이다. 정보를 기억하는 주요 변수들은 모두 private 영역에 선언되어 있어 외부에서 함부로 액세스하지 못하도록 하였다. OutToday함수는 이 두 클래스의 객체를 인수로 전달받아 날짜와 시간을 동시에 출력한다. 그러기 위해서 OutToday는 양쪽 클래스의 모든 멤버를 읽을 수 있어야 하는데 Date나 Time의 멤버 함수로 포함되면 한쪽밖에 읽을 수 없을 것이다. 한 함수가 동시에 두 클래스의 멤버 함수가 될 수는 없기 때문이다."


    라고 나와있는데 그런데 양쪽 클래스의 모든 멤버 읽을때는 반드시 클래스내부의 함수선언을 friend로 지정해야 하고 또 그 읽어들일 함수를 전역함수로 정의해야 하나요?

    아래 소스처럼 전역함수가 아닌 양쪽 두 클래스중 한 클래스의 프랜드 맴버함수로 정의해서 사용할 수 있는 방법은 없을까요?

    불가능 하다면 양쪽 클래스의 모든 멤버 읽을때는 무조건 전역함수로 정의해서 프랜드 지정해야 하는지 궁금하네요.

    답변 주시면 좋겠습니다.


    #include <Turboc.h>

     

    class Date;

    class Time

    {

         friend void OutToday(Date &,Time &);

    private:

         int hour,min,sec;

    public:

         Time(int h,int m,int s) { hour=h;min=m;sec=s; }

    };

     

    class Date

    {

         friend void OutToday(Date &,Time &);

    private:

         int year,month,day;

    public:

         Date(int y,int m,int d) { year=y;month=m;day=d; }

    };

     

    void OutToday(Date &d, Time &t)

    {

         printf("오늘은 %d년 %d월 %d일이며 지금 시간은 %d:%d:%d입니다.\n",

              d.year,d.month,d.day,t.hour,t.min,t.sec);

    }

     

    void main()

    {

         Date D(2005,01,02);

         Time T(12,34,56);

         OutToday(D,T);

    }


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

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

    번호 제 목 이름 날짜 조회 추천
    55
    c언어 #define문에서 "\"의 용도는 무엇인가요? [6] ㅜ_ㅠ 15/09/14 16:58 41 0
    54
    구조체를 함수로 만들면 메모리 할당을 할 수 있나요? [4] ㅜ_ㅠ 15/09/07 19:53 40 0
    53
    클래스의 크기 질문 [5] ㅜ_ㅠ 15/09/07 10:27 69 0
    52
    <tgmath.h> 헤더는 비주얼 스튜디오에서 사용할 수 없나요? [5] ㅜ_ㅠ 15/07/25 14:57 45 0
    51
    동적할당 예제 실행중 에러가 나는데.. [2] ㅜ_ㅠ 15/07/24 12:10 58 0
    50
    현재 c언어는 예전버젼과 완벽하게 호환이 않되나요? [3] ㅜ_ㅠ 15/07/19 20:07 43 0
    49
    키보드 버퍼안의 내용이 보고 싶은데 [5] ㅜ_ㅠ 15/07/19 05:39 41 0
    48
    c언어 fgets 함수에 대해서 질문 [13] ㅜ_ㅠ 15/07/06 20:30 31 0
    47
    C++에서 int등의 자료형의 생성자나 소멸자를 만들 수 있나요? [5] 본인삭제금지 ㅜ_ㅠ 15/06/26 16:09 30 0
    46
    c++에서 private속성의 정적멤버 변수는 무얼 의미하는 것이죠? [18] ㅜ_ㅠ 15/06/23 19:28 27 0
    45
    c언어에서 sizeof로 나오는 크기를 이해할 수 없네요. [4] ㅜ_ㅠ 15/06/22 19:37 40 0
    44
    c언어에서 리턴값을 두개 이상 만들 수 없나요? [6] ㅜ_ㅠ 15/06/20 13:48 45 0
    43
    C프로그래밍에서 유효숫자를 무한대로 사용할 수 있나요? [7] ㅜ_ㅠ 15/06/18 18:23 45 0
    42
    클래스의 friend선언에 대해서 질문 [4] ㅜ_ㅠ 15/06/17 21:11 20 0
    C++에서 맴버함수를friend로 지정할때 전역 함수로 지정해야 하나요? [1] ㅜ_ㅠ 15/06/17 17:41 22 0
    40
    생성자 선언시 레퍼런스형은 초기화 할 필요가 없나요? [2] ㅜ_ㅠ 15/06/15 12:56 21 0
    39
    공부할때 정독하면 않좋나요? [11] ㅜ_ㅠ 15/06/10 18:28 54 0
    38
    c++에서 복사생성자에 대해 질문 [4] ㅜ_ㅠ 15/06/06 00:33 35 0
    37
    api소스 디버깅할때 화면이 잘 나타나게 할 방법 없나요? [5] ㅜ_ㅠ 15/06/04 19:37 30 0
    36
    printf("%d")에서 %d는 int형을 나타내나요? [6] ㅜ_ㅠ 15/06/02 16:55 41 0
    35
    int형 변수의 자리수를 구하는 함수는 없나요? [6] ㅜ_ㅠ 15/06/01 17:20 55 0
    34
    C++기초 교재의 생성자와 소멸자 예제에서 에러가 나는데 [4] ㅜ_ㅠ 15/05/31 17:02 37 0
    33
    API 동영상 강의를 구매하는 편이 좋을까요? [6] ㅜ_ㅠ 15/05/26 20:06 19 0
    32
    비주얼 스튜디오의 디버거를 제대로 사용하고 싶은데 [6] ㅜ_ㅠ 15/05/26 00:07 32 0
    31
    같은 예제 반복 질문 죄송합니다만 api기초부분 질문입니다. [8] ㅜ_ㅠ 15/05/25 12:29 24 0
    30
    api 기본 예제 질문 [2] ㅜ_ㅠ 15/05/23 18:34 32 0
    29
    비주얼 스튜디오 구버젼을 사용해도 괜찮을까요? [4] ㅜ_ㅠ 15/05/23 15:47 36 0
    28
    비주얼 스튜디오에서 API예문을 디버깅할 수 있나요? [1] ㅜ_ㅠ 15/05/23 15:35 27 0
    27
    api에서 SetTextAlign 옵션 질문 [2] ㅜ_ㅠ 15/05/22 20:12 27 0
    [1] [2] [3]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈