#include <iostream>
// overloading "operator >> " outside class
// >> 应该定义在类之外。
//////////////////////////////////////////////////////////
class Rectangle
{
public:
Rectangle(int w, int h)
: width(w), height(h)
{};
~Rectangle() {};
public:
int width;
int height;
};
//////////////////////////////////////////////////////////
std::istream&
operator>> (std::istream& is, Rectangle& rec)
{
is >> rec.width >> rec.height;
return is;
}
std::ostream&
operator<< (std::ostream& os, const Rectangle& rec) // 这里的 const 是必要的,rec应该是一个常量,请注意
{
os << rec.width << ", " << rec.height;
return os;
}
//////////////////////////////////////////////////////////
int main()
{
Rectangle a(40, 10);
std::cin >> a;
std::cout
<< "a = " << a << std::endl;
return 0;
}
![]()