C++中include <iostream>和include <iostream.h>有什么区别。

这个程序不加.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>可用于移植和混合嵌入。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-11
#include<iostream>中的iostream是C++标准头文件库,而#include<iostream.h>是C中的头文件库,因为C++继承了C的特性,所以也保留了iostream.h这种写法,你用iostream的时候就要开辟命名空间,例如:
#include<iostream>
using namespace std;
你用iostream.h的时候就不用命名空间;你出错就是在不写'.h'的时候你没有using namespace std;本回答被提问者采纳
第2个回答  推荐于2017-09-21
#include<iostream>是C++头文件库;
#include<iostream.h>是C头文件库。

C++有一部分继承与C,所以C++中保留了iostream.h这种写法。

使用#include<iostream>的时候,要在下边加上using namespace std;
例如:
#include<iostream>
using namespace std;

使用#include<iostream.h>,不需要添加什么,直接调用就可以。
#include<iostream.h>
第3个回答  2019-04-05
前者在编译编译的时候会去编译器安装目录查找那个头文件,后者是编译在项目目录找那个头文件。不过现在的编译器都是先在项目目录查找头文件,若是找不到,则再去安装目录查找头文件,所以两者在外部看来都是一样的效果,建议写成"'的形式。
第4个回答  2019-10-17
#include<iostream.h>则不写using
namespace
std,这是c语言的写法
#include<iostream>需要写,这是c++的写法。
相似回答