如果已经提出这个问题,我真的很抱歉。我真诚地试图通过网站变得更有文化,但仍然在努力解决具体问题。无论如何,我已经弄清楚如何超载“>>”运算符,但我现在正在努力将如何将该函数中确定的值设置为变量(对不起,如果没有意义的话)
以下是我对重载的>>所拥有的内容功能
istream& operator >> (istream& ins, Rectangle& inSides)
{
double insSide1, insSide2;
ins >> insSide1;
insSide1 = inSides._length;
ins >> insSide2;
insSide2 = inSides._width;
return ins;
}
这是我目前在main()
中的内容Rectangle bothOpp;
{
cin >> bothOpp;
bothOpp.getLength();
bothOpp.getWidth();
bothOpp.print();
}
我想我要问的是如何将用户的输入设置为setter中定义的值?非常感谢你的时间(:
哦&如果需要,我可以上传我创建的setter函数,我只是不想轰炸你们。
答案 0 :(得分:1)
您需要修改inSides
。
您可以获得构建Rectangle
对象所需的输入,但您从未对其进行任何操作!试试这个(对你的Rectangle
类做出一些假设......):
istream& operator >> (istream& ins, Rectangle& inSides)
{
double len, wid;
ins >> len >> wid;
inSides = Rectangle(len, wid);
//or if you haven't made a constructor/assignment operator...
inSides._length = len;
inSides._width = wid;
return ins;
}