Và đây là định nghĩa của toán tử << được cải tiến →
1 2 3 4 |
Stack& Stack::operator<< (int v) { push(v); return *this; } |
Như bạn thấy thì toán tử trả về một tham chiếu đến chính đối tượng mà toán tử được gọi. Con trỏ this được sử dụng trong trường hợp này để lấy ra tham chiếu.
Giờ là lúc chúng ta kiểm tra hoạt động của nó, hàm main mới sẽ như sau →
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <iostream> using namespace std; int main(void) { int i = 2; Stack stk; stk << 1 << 2 * i; stk >> i; cout << i << endl; stk >> i; cout << i << endl; return 0; } |
Hãy thử biên dịch và chạy nó.