重载运算符tips

来源:互联网 发布:dota2个人数据查询 编辑:程序博客网 时间:2024/05/16 05:41

1.成员里的operator比成员外的少一目!!!
如这一题:一开始在operator*()里加参数,肯定报错!
using namespace std;
// 在此处补充你的代码
template
class CMyistream_iterator{
public:
T input;
CMyistream_iterator(istream & i)
{
i >> input;
}
T & operator * ()
{
return input;
}
void operator ++(int)
{
cin >> input;
}
};
int main()
{
CMyistream_iterator inputInt(cin);
int n1, n2, n3;
n1 = *inputInt; //读入 n1
int tmp = *inputInt;
cout << tmp << endl;
inputInt++;
n2 = *inputInt; //读入 n2
inputInt++;
n3 = *inputInt; //读入 n3
cout << n1 << “,” << n2 << “,” << n3 << endl;
CMyistream_iterator inputStr(cin);
string s1, s2;
s1 = *inputStr;
inputStr++;
s2 = *inputStr;
cout << s1 << “,” << s2 << endl;
return 0;
}
2.重载++或者–,()里默认填int