废话不多说,直接上代码
#include<iostream>
#include<sstream>
using namespace std;
struct mystr {
int x;
int y;
mystr(){}
mystr(int x,int y):x(x),y(y){}
int& operator[](const int& m) {//重载[]运算符
if (m == 0) {
return x;//之所以返回引用,是因为我们要改变其值
}
else {
return y;//同上
}
}
string toString() {//对象的字符串描述
stringstream ss("", ios::out);
ss << x << "|" << y;
return ss.str();
}
};
int main() {
mystr mystr1(3, 4);
cout << mystr1[0] << endl;//结果 3
mystr1[1] = 5;
cout << mystr1.toString() << endl;//结果 3|5
system("pause");
return 0;
}
当然,代码不是死的,灵活处理。