디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

C++ friend 클래스 질문.

하민(173.64) 2010.10.13 12:29:37
조회 213 추천 0 댓글 11

프랜드 클래스에 대해서 이해를 못해서 이렇게 질문합니다.

일단 2개의 헤더파일히고 메인파일 내용 첨부합니다.


------------------------------------------------------------------------------
//파일이름 test.h

#ifndef TEST_H
#define TEST_H

#include <cstdlib>
#include <iomanip>
#include <iostream>
#include <string>
#include <cstring>
#include "testOne.h"

using namespace std;


//Class declaration
class test
{
 private:
    int a;

 public:
    //constructor #1
    test(int num)
    {
        a = num;
    }

    int getNumber()
    { return a; }


    void print() const
    { cout << "test Value: " << a << endl; }
    

    //Friend class member.
    friend void testOne::print() const;
    

};
#endif


-------------------------------------------------------------------------------

//파일이름 testOne.h

#ifndef TESTONE_H
#define TESTONE_H

//forward decalaration.
class test;

#include <cstdlib>
#include <iomanip>
#include <iostream>
#include <string>
#include <cstring>


using namespace std;



//Class declaration
class testOne
{
 private:
    int c;

 public:
    //constructor #1
    testOne()
    { c = 0; }

            
    void print() const
    {
        int temp;
        temp = getNumber();
        cout << "Friend function value: " << temp  << endl;
    }


};
#endif


-----------------------------------------------------------------------------------

//파일이름 testMain.cpp


#include <cstdlib>
#include <iomanip>
#include <iostream>
#include <string>
#include <cstring>

#include "test.h"
#include "testOne.h"

using namespace std;


//Class declaration
int main()
{
    test One(7);
    One.print();

    testOne Two;
    Two.print();


    return 0;
}


-----------------------------------------------------------------------------------



위에서 보다시피 test.h 파일안의  test 클래스에

friend void testOne::print() const;

를 정의해서 testOne 클래스 안에 있는 print() 가 test 클래스의 private 멤버변수 a를 출력할수 있을거라고
생각했는데 이대로 하니 컴파일 에러가 납니다.


아래의 구문이 바로 test 클래스의 getNumber() 를 불러서 test클래스 안의 private 변수 a 의 값을 가져
와야 하는데...

    void print() const
    {
        int temp;
        temp = getNumber();
        cout << "Friend function value: " << temp  << endl;
    }


저렇게 해놓으니 getNumber() 가 선언이 안되었다고 컴파일러 에러가 뜨네요.
내 생각에는 이미 test 클래스 안에  프랜드로 지정해놔서
void print() const 가 test 클래스 안의 변수와 함수들을 이용할수 있을것 같은데.
뭐가 잘못된건지 도저히 이해가 안가네요.

고수님들 뭐가 잘못된건지. 설명좀 부탁합니다. T_T





 

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 힘들게 성공한 만큼 절대 논란 안 만들 것 같은 스타는? 운영자 24/06/10 - -
224858 프로그래밍 과목 손시험 보는거 존나 븅신같다. [8] 시불라미갤로그로 이동합니다. 10.12.14 299 0
224857 아 씨발 가상함수 선언하는데 virtual을 안쓰고 냈네 씨뷰ㅠㅠㅠ [3] 팔로윌갤로그로 이동합니다. 10.12.14 136 0
224853 C언어 학원 다니면 실력좀 늘까요? 비트학원 생각중.. [5] 벼리에용갤로그로 이동합니다. 10.12.14 243 0
224852 프갤러들 현실에선 다 좆밥들임 ㅇㅇ [1] 개쉛기갤로그로 이동합니다. 10.12.14 178 0
224851 c언어 기초책좀 추천해주세요 [1] 121212(112.170) 10.12.14 150 0
224850 스택 질문좀요... [11] Stygia갤로그로 이동합니다. 10.12.14 144 0
224846 c언어 늅이 사칙연산 코딩 질문좀 [1] Valet갤로그로 이동합니다. 10.12.14 240 0
224845 자바 좀 설명좀 해주실분.. [3] 기름쟁이(1.224) 10.12.14 65 0
224844 횽들 ms-sql 실무자용으로 초보가 볼만한거 없을까요? [2] 리지♡(220.76) 10.12.14 68 0
224843 프로그래머란 직업과 관련된 진리 몇가지 분당살람갤로그로 이동합니다. 10.12.14 122 0
224841 윈도우api마스터하는데 얼마나 걸리냐 [4] 쓰고이(183.101) 10.12.14 175 0
224837 메이드 윙크 [3] 동적할당갤로그로 이동합니다. 10.12.14 169 0
224833 여러분 감기조심하세요 꿀레갤로그로 이동합니다. 10.12.14 70 0
224832 [리바이벌] 프겔러가 연애할 경우에 예상되는 상황 전개 [1] 분당살람갤로그로 이동합니다. 10.12.14 177 0
224831 노트북으로 프로그래밍을 하겠다고? [4] 동적할당갤로그로 이동합니다. 10.12.14 205 0
224830 스마트폰 어플에서 사용자 입력정보를... [1] 홍어(58.180) 10.12.14 65 0
224829 여자 프로그래머는 존재하지만... [6] 아주아슬갤로그로 이동합니다. 10.12.14 437 0
224828 결국 사장님한테 문자보냈다. [5] 꿀레갤로그로 이동합니다. 10.12.14 181 0
224827 고령자 무경력 겜 회사 클라이언트 개발직 취업질문 ㅠㅠ 희망을 부탁 [11] 나이많은놈(121.164) 10.12.14 314 0
224826 죽여놓고 유감이라고요? [1] 분당살람갤로그로 이동합니다. 10.12.14 187 0
224823 우리학교 응용수학과 아는사람이 프로그래밍 기초를 배우던데 [5] 동적할당갤로그로 이동합니다. 10.12.14 181 0
224822 모르면 걍 넘어가 문법이 결코 중요한게 아님 [2] 시불라미갤로그로 이동합니다. 10.12.14 152 0
224819 개발 3~4년차가 부족한 이유 [9] .3(124.137) 10.12.14 356 0
224818 Visual C++ 6.0 인데 MSDN은 따로 받아서 설치해야되는거야? Grand갤로그로 이동합니다. 10.12.14 254 0
224816 방학동안에 공부할필요 있냐? [6] 뉴비(203.170) 10.12.14 117 0
224815 형들? 노트북 이거 어떰. [2] 노란후드티갤로그로 이동합니다. 10.12.14 129 0
224814 포인터 배울필요있냐? [9] 홍어(58.180) 10.12.14 162 0
224811 동방갤에서 나왔습니다. [12] 포인터개새끼(210.107) 10.12.14 147 0
224810 스키마 종나 더럽네.. 홍어(58.180) 10.12.14 43 0
224809 자바 경력직말고 신입 뽑는데가 없다면서요 [1] 동적할당갤로그로 이동합니다. 10.12.14 155 0
224808 비주얼베이직 메모장 만들어보는중 [5] 김늅늅(61.40) 10.12.14 199 0
224807 와우하니까 3시간이 금방가버렸다... [2] 꿀레갤로그로 이동합니다. 10.12.14 116 0
224806 자바 존나게 잘하면 오라클이대려감 구글이 대려감?? [5] ㅇ.ㅇ(183.101) 10.12.14 195 0
224805 구조체로 queue구현 중 질문..? [18] ㅂㅂㅂㅂㅂ(203.149) 10.12.14 120 0
224804 형님들 C++ 에서 레퍼런스로 배열을 만들라 카는데요 [6] 동적할당갤로그로 이동합니다. 10.12.14 109 0
224802 내년이맘때 구글 사내식당에서 맛먹을수 있기를 [2] 홍어(58.180) 10.12.14 209 0
224800 민류 인증사진 (폭발하기 전에 빨리보세요) [6] 개쉛기갤로그로 이동합니다. 10.12.14 380 0
224799 api 공부하셨거나 공부하고 있으신분??? [3] 컴돌이(58.77) 10.12.14 108 0
224798 으어..ㅠㅠ 노트북 쿨러 얇은거 없나요~? 바이오 너무 뜨거워ㅠㅠ 날개달린호랭갤로그로 이동합니다. 10.12.14 132 0
224797 으 알송머지.. [3] new gay[max](183.105) 10.12.14 129 0
224796 잃어버린 20년 日本에서 배운다 [1] Vita500갤로그로 이동합니다. 10.12.14 140 0
224794 이거 왜 에러가 나는거야? [6] adb(123.142) 10.12.14 118 0
224791 "너구리, 공원 쓰레기통에서 발견" [4] ㅁㄴㅇㄹ(174.21) 10.12.14 212 0
224789 api 님들아 답변 좀 해줘영...ㅜㅜ [14] 컴돌이(58.77) 10.12.14 89 0
224788 키보드 마우스 모쓰세요~?????? 궁금 [10] 날개달린호랭갤로그로 이동합니다. 10.12.14 129 0
224785 입갤과 동시에 퇴갤 [3] nRST갤로그로 이동합니다. 10.12.14 98 0
224783 아이폰 어플 만들기 존나 재밌다 [5] 아이폰(115.91) 10.12.14 1467 0
224782 횽들아 포인터 공부할때 대충 극한 생각하면 되나요??? [11] ㅇㅇㅇㅇ(219.250) 10.12.14 157 0
224781 한국 사회 젊은이들의 경쟁력 [7] 어떡해갤로그로 이동합니다. 10.12.14 189 0
224780 세상 좋아졌네. [2] 머그컵갤로그로 이동합니다. 10.12.14 92 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2