웹프로그래밍
C++ 다른 클래스의 멤버변수에 직접 접근하기 본문
c++ 클래스 차원의 static 변수 사용하기.
2009/09/25 12:39
Something.h
class Something
{
public:
static char szName[21];
}
Something.cpp
char Something::szName[21];
Other.cpp
void Other::otherFunction()
{
strcpy( Something::szName, "test");
}
클래스의 헤더파일에 저렇게 static 키워드를 붙여주고,
주의할점은 선언한 클래스의 구현부 파일에 char Something::szName[21] 처럼 명시를 해줘야한다.
저렇게 명시를 해줘야 obj 파일에정상적으로 정보가 등록되어 다른 클래스에서 접근할 수 있다.
예를들어 Other 이라는 클래스에서 Somthing 클래스의 전역변수인 szName을 접근하려 할때
예와 같이 Something::szName 이렇게 스코프(Something)를 명시해주고 변수명을 쓰면된다.
Something 클래스의 전역변수인 szName은 Something 클래스의 객체가 단 하나도 생성되지않아도
메모리상에 존재하므로 접근이 가능하다.
'프로그래밍일반' 카테고리의 다른 글
C++ STL : Functor 사용하기 (0) | 2016.07.13 |
---|---|
C++ : 특정 클래스의 멤버함수A에서 멤버함수B를 스레드로 생성하기 (0) | 2016.07.13 |
Link Error : winsock을 사용하는 프로그램 빌드 시 link error대처 (0) | 2016.07.13 |
IA Register Set (0) | 2016.07.13 |
STB 스터디 자료 (0) | 2016.07.13 |
Comments