【发布时间】:2020-03-09 10:33:55
【问题描述】:
大家好,我是 C++ 新手,我对这个运算符有疑问:(stackoverflow 中也是新的)
这是我的班级TestList:
class TestList{
public:
TestList() : listItems(10), position(0){};
TestList(int k) : listItems(k), position(0){};
int listItems;
int position;
std::vector<int> arr;
};
//my current operator is: What should be changed?
ostream& operator <<(ostream&, const TestList& tlist, int input){
os << tlist.arr.push_back(input);
return os;
}
//
int main() {
testList testlist(5);
testlist << 1 << 2 << 3; //how should I overload the operator to add these number to testlist.arr ?
return 0;
}
我希望有人可以帮助我或可以给我任何提示? :)
【问题讨论】:
-
您的操作员是否看起来收到了
std::ostream&?那么返回类型和当前主体似乎不合适。从那开始。并且由于operator <<是 binary 运算符,因此三个操作数的列表也不正确。您可能会发现 Operator Overloading 信息丰富。
标签: c++ vector operator-overloading operators