static 멤버 함수를 class 내부에서 사용할때 클래스 명을 생략할 수 있나요?
글쓴이: hyde1004 / 작성시간: 목, 2010/05/13 - 11:19오전
안녕하세요.
제가 분석중인 코드에
class 내의 모든 멤버함수가 static 으로 구성되어 있는 클래스가 있습니다.
클래스의 멤버함수에서 또 다른 static 멤버함수를 호출시에 클래스명을 생략할 수 있나요?
아래의 코드에서
funcA()와 funcB()는 동일하게 실행되는지,
또는 funcB()는 또 다른 클래스의 인스턴스의 funcC()를 실행하는지 궁금합니다.
class A { static void funcA(); static void funcB(); static void funcC(); }; void A::funcA() { A::funcC(); } void A::funcB() { funcC(); }
Forums:
클래스의
클래스의 멤버함수에서 또 다른 static 멤버함수를 호출시에 클래스명을 생략할 수 있습니다.
그리고 C++에서 class 의 멤버 함수는 해당 class의 모든 instance들이 공유합니다. (다만, static으로 정의된 멤버 함수에서는 static 멤버 변수들만 사용할 수 있다는 점에서 일반 멤버 함수와 차이가 있습니다.) 따라서 말씀하신 예에서는 동일한 함수가 실행됩니다.
댓글 달기