티스토리 뷰

::가 붙는 경우 글로발을 의미한다.

예를 들어 글로발로 int a가 선언되어 있고 클래스 내에서 int a가 선언되어 있는 경우

클래스 내에서 사용하는 a는 클래스 내에서 선언한 a이다.

이때 글로발 변수인 a를 사용하고 싶다면 ::a를 사용하면 되겠다.

아래는 이해를 돕기 위한 소스

#include <iostream>

using namespace std;

int a = 3;

void test()
{
          cout << "test global" << endl;
}

class Ctest
{
public:
          int a;
          Ctest()
          {
                    a = 1;
                    cout << "test() : ";
                    test();
                    cout << "::test() : ";
                    ::test();

                    a++;
                    cout << "a : " << a << "     ::a : " << ::a << endl;
          }

          void test()
          {
                    cout << "test member" << endl;
          }

};

int main()
{
          Ctest test;
          return 0;
}

실행 결과는
test() : test member
::test() : test global
a : 2   ::a : 3
이해가 되시지용~?(웬만하면 이름 안겹치는게 좋지만.. 글로발 변수 및 함수 사용에는 :: 붙이는 습관을 기르는게 좋을듯!)

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/03   »
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
글 보관함