我创建了一个类,该类允许用户输入其邮寄地址,订购日期,订购的Cookie的类型和数量。还有其他错误,但是我熬夜了,在教授的帮助下,我已将其修复。现在剩下的就是我需要能够更改代码以重载I / O流运算符,以便可以在标准输入和输出语句中使用这些对象。我不确定每个人都需要看代码的所有部分,但是我将发布我认为需要做的部分。我需要将它放在output()中的cout << order << endl;位置,我将在网上查看并希望在今晚之前准备好它。感谢大家的投入。由于其他学生在课堂上复制我的代码片段以完成工作,被指示删除我的代码(知道有可能,但没有考虑过)但是,我的代码是完整的。 最佳答案 实现两个功能:basic_ostream & operator<< (basic_ostream& ostr, const CookieOrder& co)basic_istream & operator>> (basic_istream& istr, CookieOrder& co)使用operator<<=时将调用cout << order << endl;函数,而使用operator>>(流提取)运算符时将调用>>函数。要非常小心如何实现流提取运算符。您可能需要将其中一个声明为friend到CookieOrder,因为这将允许该函数访问类的私有部分,就好像该函数是该类的成员一样。编辑以回答问题的变化像以前一样照看您的班级:  类CookieOrder {    上市:      //与以前一样的公共方法    私人的:      //像以前一样私有部分  };  basic_ostream&运算符basic_istream&运算符>>(basic_istream&istr,CookieOrder&co);仅使用CookieOrder类的公共接口来实现这两个功能。例如:  basic_ostream&运算符     ostr      / *输出的其余部分* /  }这些函数不是CookieOrder类的成员,它们是常规函数,无法对CookieOrder类或该类的实例进行特殊访问。关于c++ - 我如何重载I/O运算符(operator)C++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1875542/
10-11 16:05