假设我有一些结构,例如Rectangle:
struct Rectangle
{
int x0, x1, y0, y1;
};
Run Code Online (Sandbox Code Playgroud)
是否可以以一种能够调用的方式创建Rectangle结构:
Rectangle rec;
cin >> rec;
Run Code Online (Sandbox Code Playgroud)
?我认为应该可以以某种方式实现它,但我没有足够的经验.
放弃
我不是在找这个:
cin >> rec.x0 >> rec.x1 >> rec.y0 >> rec.y1;
Run Code Online (Sandbox Code Playgroud)
R S*_*ahu 10
您可以使用:
Rectangle rec;
cin >> rec;
Run Code Online (Sandbox Code Playgroud)
如果你定义一个合适的operator>>功能.
std::istream& operator>>(std::istream& in, Rectangle& rec)
{
return (in >> rec.x0 >> rec.x1 >> rec.y0 >> rec.y1);
}
Run Code Online (Sandbox Code Playgroud)
如果不允许定义此类函数,则无法使用要使用的语法.