作者peggypiano (大N)
看板C_and_CPP
标题[问题] operator overloading的问题
时间Sun Oct 2 19:57:12 2016
已解决...
发现得是
a.apple=b[0];
a.pen=b[1];
a.pinapple=b[2];
抱歉犯蠢 囧
弄了很久都没发现 囧
问题(Question):
不知道为什麽无法存取到新给的input
喂入的资料(Input):
1 2 3
预期的正确结果(Expected Output):
1
错误结果(Wrong Output):
2
程式码(Code):(请善用置底文网页, 记得排版)
#include <iostream>
using namespace std;
class Poly
{
public:
int apple;
int pen;
int pinapple;
friend istream& operator >>(istream& ins, Poly& a);
};
istream& operator >>(istream& ins, Poly& a)
{
int b[3];
ins >> b[0] >> b[1] >> b[2];
b[0]=a.apple;
b[1]=a.pen;
b[2]=a.pinapple;
return ins;
}
int main()
{
Poly a;
a.apple=2;
cout << a.apple;
cin >> a;
cout << a.apple;
return 0;
}
补充说明(Supplement):
我希望可以cin 一个阵列然後 把值存进去 a,
但不知道问题出在哪里QQ
先谢谢帮看的大大
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.113.136.219
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1475409437.A.E49.html
※ 编辑: peggypiano (140.113.136.219), 10/02/2016 20:04:15
1F:推 Frozenmouse: operator>>的实作给值的地方写反了? 10/02 20:05