클래스 메서드는 NULL 클래스 포인터를 사용하여 호출할 수 있습니다.
참고 − 이는 정의되지 않은 동작이며 프로그램 실행에 대한 보장이 없습니다. 실제 결과는 사용된 컴파일러에 따라 다릅니다.
이를 보여주는 프로그램은 다음과 같습니다.
예시
#include <iostream> using namespace std; class Example { public : void func() { cout << "The function is called through Null class pointer."; } }; int main() { Example *p = NULL; p->func(); return 0; }
출력
위 프로그램의 출력은 다음과 같습니다.
The function is called through Null class pointer.
이제 위의 프로그램을 이해해보자.
클래스 Example에는 func() 멤버 함수가 포함되어 있습니다. 이 함수는 "함수가 Null 클래스 포인터를 통해 호출되었습니다."를 표시합니다. 이에 대한 코드 스니펫은 다음과 같습니다.
class Example { public : void func() { cout << "The function is called through Null class pointer."; } };
main() 함수에서 클래스 널 포인터 p가 생성됩니다. 그런 다음 func()는 p를 사용하여 호출됩니다. 이에 대한 코드 스니펫은 다음과 같습니다.
int main() { Example *p = NULL; p->func(); return 0; }