본문 바로가기

Programming/[C++]

[C++] Friend Class (프렌드 클래스)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
using namespace std;
 
//개념 : C++의 프렌드는 한쪽 방향으로만 진행된다. 퍼블릭으로 인식해서 마음대로 쓴다. 상대방은 내껄 쓸 수 없다.
/*
    1. friend class
    2. friend method
    3. friend function
    X 3번이 가장 많이 쓰이고 그 다음 1번 2번으로 많이 쓰인다.
    friend는 많이쓰면 좋지 않다
    연산자함수 = (외부함수를 멤버함수로 만들 수 있다) 객체와 객체를 산술 연산이 가능하게 해준다
*/
class A {
    int money;
public :
    A(int pay = 100000) {
        money = pay;
    }
    void setMoney(int pay) { money = pay; }
    int getMoney()const { return money; }
    
    friend class B;
    //friend void B::disp();
};
class B {
public:
    void disp() {
        A aa;
        cout << aa.getMoney() << endl;
        //cout << aa.money << endl;
    }
};
 
void main() {
    
    B bb;
    bb.disp();
}
cs

 

'Programming > [C++]' 카테고리의 다른 글

[C++] 포함 오브젝트(has ~a)  (0) 2018.03.21
[C++] Friend 함수 (프렌드 함수)  (0) 2018.03.21
[C++] 파일 입출력  (0) 2018.03.21
[C++] 소멸자  (0) 2018.03.21
[C++] 깊은 복사 연산자  (0) 2018.03.21