它被称为函数重载。operator<<
在 C++ 中,只要它们采用不同的参数集,就可以使用相同的名称(在本例中为名称)拥有任意数量的函数。cout
没有规定如何解释参数,编译器会这样做。或者更确切地说,编译器决定调用哪个函数,而该函数决定了参数的格式。编译器知道每个参数的类型,并相应地调用适当的函数。
例如,这调用ostream::operator<<(int)
cout << 10;
而 this 调用ostream::operator<<(double)
,这是一个完全不同的函数
cout << 3.14;