帮我看一段C++代码

来源:百度知道 编辑:UC知道 时间:2024/05/27 09:38:18
#include <iostream>
#include "Sales_item.h"
int main ()
{
Sales_item book;
std::cin >>xiao;
std::cout <<Sales_item <<std::endl;
return 0;
}
怎么会报错呢?
#include <iostream>
#include "Sales_item.h"
int main ()
{
Sales_item book;
std::cin >>book;
std::cout <<book <<std::endl;
return 0;
}
只单独编译这段代码,就报错。

Sales_item 如果是你自定义的类型
需要重载 std::cin 和 std::cout
给你一个例子:
#include<iostream>
using namespace std;

class CA
{
int x;
int y;
public:
CA()
{
x = 0;
y = 0;
}

friend istream& operator >>( istream&, CA& );
friend ostream& operator <<( ostream&, CA& );
};

istream& operator >>( istream& is, CA& ca )
{
is >> ca.x;
is >> ca.y;

return is;
}

ostream& operator <<( ostream& os, CA& ca )
{
os << "(" << ca.x << "," << ca.y <<")" << endl;

return os;
}

int main() //主函数
{
CA ca;

cin >> ca;

cout << ca;
return 0;
}

#include "Sales_item.h"
里面是什麼
有没有重载

<<
>>