我试图重载一个操作符来处理项目类并因为字符串而产生一些困难。这将被分割成一个头文件和另一个文件。 (编辑:哎呀,对不起)运算符重载'<<' and '>>'和一个字符串
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <string>
using namespace std;
class item
{
private:
string itemName;
public:
string getitemName() const;
friend std::istream &operator >> (std::istream & instr, const item& R);
friend std::ostream &operator << (std::ostream & outst, const item& P);
};
string item::getitemName() const
{
return itemName;
}
std::istream& operator >> (std::istream& instr, const item& R)
{
instr >> R.getitemName();
return instr;
}
std::ostream& operator << (std::ostream& outst, const item& P)
{
outst << P.getitemName();
return outst;
}
如果'getitemName'是一个问题,显示它是有点强制性 – StoryTeller
你可能对运营商''>>这是为了养活一个问题你在参数中给出的项目(通过方法getItemName()')。但是这个参数的类型是'const item&',这有点奇怪。请显示'getiemName'函数实现 – Actarus