Sau này học qua phần C++ hướng đối tượng, bạn sẽ biết cách định nghĩa lại các toán tử cho một class.
Lớp ostream định nghĩa toán tử << là liên kết với thiết bị xuất chuẩn để tạo thành 1 stream gọi là stream output, và thế là truyền dữ liệu đi thôi.
Đối tượng cout được khai báo như khai báo biến, nhưng kiểu dữ liệu là ostream:
extern ostream cout;
Từ khóa extern dùng để làm việc với chương trình có nhiều file. Trong chương tổ chức và quản lý mã nguồn sẽ có đề cập.
Sau khi khai báo như thế thì đối tượng cout sẽ dùng toán tử << như sau:
cout << .....
Ví dụ thay thế cái đối tượng cout thuộc lớp ostream bằng một cái stream tự định nghĩa.
#include <iostream>
class MyStream
{
public:
MyStream()
{
}
const MyStream& operator<<(const char *str)
{
puts(str);
return *this;
}
private:
};
int main()
{
MyStream test;
test << "Hello world";
system("pause");
return 0;
}
Như thế thì test đóng vai trò như cout.