作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果这个问题已经被问到,我真的很抱歉。我真诚地努力提高对网站的了解,但仍在为具体问题而苦苦挣扎。无论如何,我已经想出了如何重载“>>”运算符,但我现在正在努力解决如何将在该函数中确定的值设置为变量(抱歉,如果这些都没有意义)
这是重载的 >> 函数的内容
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 函数,我只是不想轰炸你们。
最佳答案
您需要修改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;
}
关于c++ - 如何将在重载 >> 运算符中输入的值插入 setter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50494386/
我是一名优秀的程序员,十分优秀!