Computer >> Máy Tính >  >> Lập trình >> C ++

Gọi phương thức lớp thông qua con trỏ lớp NULL trong C ++


Có thể gọi một phương thức lớp bằng con trỏ lớp NULL.

Lưu ý - Đây là hành vi không xác định và không đảm bảo về việc thực thi chương trình. Kết quả thực tế phụ thuộc vào trình biên dịch được sử dụng.

Một chương trình chứng minh điều này được đưa ra như sau.

Ví dụ

#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;
}

Đầu ra

Kết quả của chương trình trên như sau.

The function is called through Null class pointer.

Bây giờ, chúng ta hãy hiểu chương trình trên.

Ví dụ về lớp chứa một hàm thành viên func (). Hàm này hiển thị "Hàm được gọi thông qua con trỏ lớp Null." Đoạn mã cho điều này được đưa ra như sau.

class Example {
   public :
   void func() {
      cout << "The function is called through Null class pointer.";
   }
};

Trong hàm main (), con trỏ null lớp p được tạo. Khi đó func () được gọi bằng cách sử dụng p. Đoạn mã cho điều này được đưa ra như sau.

int main() {
   Example *p = NULL;
   p->func();
   return 0;
}