Hãy xem ví dụ sau →
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <iostream> using namespace std; class Test { public: static void funS1(void) { cout << "static" << endl; } static void funS2(void) { funS1(); } }; int main(void) { Test object; Test::funS2(); object.funS2(); return 0; } |
Ví dụ này thể hiện một trường hợp khi một hàm static có tên funS2 gọi một hàm static khác có tên funS1. Một trường hợp như thế này luôn luôn OK, vì cả hai hàm đều có sẵn trong suốt vòng đời của chương trình. Chương trình này sẽ biên dịch thành công và cho ra kết quả sau:
1 2 |
static static |
Như vậy chúng ta đã có thể điền vào ô đầu tiên của bảng: