본문 바로가기

카테고리 없음

[C++] 함수 안에서 정의한 변수와 멤버 변수의 이름이 같은 경우

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
39
40
 
#include <iostream>
using namespace std;
 
// Point 클래스를 정의한다.
class Point
{
public:
    // 멤버 변수
    int x, y;
 
    // 멤버 함수
    void Print();
};
 
// 멤버 함수
void Point::Print()
{
    int x = 333;
    cout << "( " << x << ", " << y << ")\n";
}
 
int main()
{
    // 객체를 생성한다.
    Point pt1, pt2;
 
    // pt1, pt2를 초기화 한다.
    pt1.x = 100;
    pt1.y = 100;
    pt2.x = 200;
    pt2.y = 200;
 
    // pt1, p2의 내용을 출력한다.
    pt1.Print();
    pt2.Print();
 
    return 0;
}

//이와 같은 상황에서는 멤버 변수를 사용할 수 없으므로 멤버 함수 안에서 
변수를 정의할 때에는 주의할 필요가 있음, 가능하다면 멤버변수와 
같은 이름의 변수를 만들지 않는것이좋음
 
cs


해당 소스의 출력결과는 

<300, 100>

<300, 200>


이 됩니다.