Một hàm thành viên lớp có thể được gọi bằng con trỏ đối tượng NULL.
Lưu ý - Đây là hành vi không xác định và không có gì đả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 Demo { public : void fun() { cout << "This member function is called through Null object pointer."; } }; int main() { Demo *ptr = NULL; ptr->fun(); return 0; }
Đầu ra
Kết quả của chương trình trên như sau.
This member function is called through Null object pointer.
Bây giờ, chúng ta hãy hiểu chương trình trên.
Demo của lớp chứa một hàm thành viên fun (). Hàm này hiển thị "Hàm thành viên này được gọi thông qua con trỏ đối tượng Null." Đoạn mã cho điều này được đưa ra như sau.
class Demo { public : void fun() { cout << "This member function is called through Null object pointer."; } };
Trong hàm main (), con trỏ ptr đối tượng null được tạo. Sau đó, hàm thành viên fun () được gọi bằng cách sử dụng ptr. Đoạn mã cho điều này được đưa ra như sau.
int main() { Demo *ptr = NULL; ptr->fun(); return 0; }