Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 NULL 객체 포인터에 대한 멤버 함수 호출


클래스 멤버 함수는 NULL 개체 포인터를 사용하여 호출할 수 있습니다.

참고 − 이는 정의되지 않은 동작이며 프로그램 실행에 대한 보장이 없습니다. 실제 결과는 사용된 컴파일러에 따라 다릅니다.

이를 보여주는 프로그램은 다음과 같습니다.

예시

#include <iostream>
using namespace std;
class Demo {
   public :
   void fun() {
      cout << "This member function is called through Null object pointer.";
   }
};
int main() {
   Demo *ptr = NULL;
   ptr->fun();
   return 0;
}

출력

위 프로그램의 출력은 다음과 같습니다.

This member function is called through Null object pointer.

이제 위의 프로그램을 이해해보자.

Demo 클래스에는 fun() 멤버 함수가 포함되어 있습니다. 이 함수는 "이 멤버 함수는 Null 개체 포인터를 통해 호출됩니다."를 표시합니다. 이에 대한 코드 스니펫은 다음과 같습니다.

class Demo {
   public :
   void fun() {
      cout << "This member function is called through Null object pointer.";
   }
};

main() 함수에서 객체 널 포인터 ptr이 생성됩니다. 그런 다음 멤버 함수 fun()이 ptr을 사용하여 호출됩니다. 이에 대한 코드 스니펫은 다음과 같습니다.

int main() {
   Demo *ptr = NULL;
   ptr->fun();
   return 0;
}