这个程序不加.h为什么有错
#include <iostream.h>
class test{
private:
int i;
float f;
char ch;
public:
test(int a=0,float b=0,char c='\0'){i=a;f=b;ch=c;}
friend ostream & operator<<(ostream&,test);
friend istream & operator>>(istream&,test&);
};
ostream & operator<<(ostream&stream,test obj)
{
stream<<obj.i<<",";
stream<<obj.f<<",";
stream<<obj.ch<<endl;
return stream;
}
istream & operator>>(istream&t_stream,test&obj)
{
t_stream>>obj.i;
t_stream>>obj.f;
t_stream>>obj.ch;
return t_stream;
}
void main()
{
test A(45,8.5,'W');
operator<<(cout,A);
test B,C;
cout<<"Input as i f ch:";
operator >> (cin,B);operator >> (cin,C);
operator << (cout,B); operator << (cout,C);
}
include<stdio.h> 和include<iostream.h>区别为:来源不同、命名空间不同、移植不同。
一、来源不同
1、include<stdio.h> :include<stdio.h> 是C标准库里面的函数库。
2、include<iostream.h>:include<iostream.h>是C++标准库的函数库。
二、命名空间不同
1、include<stdio.h> :引用include<stdio.h>的类需要手动添加命名空间。
2、include<iostream.h>:引用include<iostream.h>的类默认自动添加命名空间。
三、移植不同
1、include<stdio.h> :include<stdio.h> 不可用于移植和混合嵌入。
2、include<iostream.h>:include<iostream.h>可用于移植和混合嵌入。