//
#include "stdafx.h"
#include <windows.h>
//#include <iostream>
#include <iostream>
using namespace std;
class three_d
{
public:
int x,y,z;
three_d(int a, int b, int c)
{
x=a;
y=b;
z=c;
}
friend ostream&operator << (ostream &s, three_d obj);
friend istream&operator >> (istream &s, three_d obj);
};
ostream & operator <<(ostream &s, three_d obj)
{
s<<obj.x<<",";
s<<obj.y<<",";
s<<obj.z<<"\n";
return s;
}
istream & operator>> (istream &s, three_d &obj)
{
cout<<"please Enter coordinate:";
s>>obj.x;
s>>obj.y;
s>>obj.z;
return s;
}
main()
{
three_d a (1,2,3);
cout<<a;
cin>>a;
cout<<a;
}
1>------ 已启动生成: 项目: cincout重载输入输出, 配置: Debug Win32 ------
1>正在编译...
1>cincout重载输入输出.cpp
1>e:\cygwin\home\something\c++\testpag\新建文件夹\cincout重载输入输出\cincout重载输入输出\cincout重载输入输出.cpp(43) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>e:\cygwin\home\something\c++\testpag\新建文件夹\cincout重载输入输出\cincout重载输入输出\cincout重载输入输出.cpp(46) : error C2593: 'operator >>' is ambiguous
1> e:\cygwin\home\something\c++\testpag\新建文件夹\cincout重载输入输出\cincout重载输入输出\cincout重载输入输出.cpp(34): could be 'std::istream &operator >>(std::istream &,three_d &)'
1> e:\cygwin\home\something\c++\testpag\新建文件夹\cincout重载输入输出\cincout重载输入输出\cincout重载输入输出.cpp(25): or 'std::istream &operator >>(std::istream &,three_d)' [found using argument-dependent lookup]
1> while trying to match the argument list '(std::istream, three_d)'
1>生成日志保存在“file://e:\cygwin\home\something\C++\TestPag\新建文件夹\cincout重载输入输出\cincout重载输入输出\Debug\BuildLog.htm”
1>cincout重载输入输出 - 2 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========