C++ 插入和提取运算符不';行不通
正在玩运算符重载,无法找出以下代码的错误-C++ 插入和提取运算符不';行不通,c++,C++,正在玩运算符重载,无法找出以下代码的错误- #include <iostream> class Holder { public: std::string name; int data; }; std::istream operator>>(std::istream& is, Holder &h) { std::cout<<"Enter name = "<<std::endl; std::cin&g
#include <iostream>
class Holder
{
public:
std::string name;
int data;
};
std::istream operator>>(std::istream& is, Holder &h)
{
std::cout<<"Enter name = "<<std::endl;
std::cin>>h.name;
std::cout<<"Enter data = "<<std::endl;
std::cin>>h.data;
return is;
}
std::ostream operator<<(std::ostream& os, Holder const &h)
{
std::cout<<"Name = "<<h.name<<std::endl;
std::cout<<"Data = "<<h.data<<std::endl;
return os;
}
int main(int argc, char **argv) {
Holder h;
std::cin>>h;
std::cout<<h;
}
#包括
阶级持有者
{
公众:
std::字符串名;
int数据;
};
std::istream运算符>>(std::istream&is、支架&h)
{
std::cout通过引用返回:
std::istream& operator>>(std::istream& is, Holder &h)
std::ostream& operator<<(std::ostream& os, Holder const &h)
//^
std::istream&operator>>(std::istream&is,Holder&h)
std::ostream&operator作为一种风格,流提取器不应该写任何东西。它的工作只是读取。提示属于调用提取器的代码。毕竟,提取器可以从文件中读取。。。
std::istream& operator>>(std::istream& is, Holder &h)
std::ostream& operator<<(std::ostream& os, Holder const &h)
//^