C++中,下面程序,我不明白为什么一定要#include<iostream.h>,如果是#include<iostream>反而要出现错误?

/********found********/#include<iostream.h>classMyclass{intm_Number;friendclassfriend... /********found********/
#include <iostream.h>
class Myclass
{
int m_Number;

friend class friendC1;
public:
Myclass()
{
m_Number = 5;
}
};
class friendC1
{
public:
int fun(int x)
{
Myclass obj;

return obj.m_Number-x;
}
};
void main()
{
friendC1 obj;
cout<<obj.fun(10)<<endl;
}
展开
 我来答
1062665477
2010-09-14 · TA获得超过553个赞
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:230万
展开全部
关于这个问题,iostream.h是非标准头文件,iostream是标准头文件形式。iostream.h时代没有名词空间,即所有库函数包括头文件iostream.h都声明在全局域。为了体现结构层次,c++标准委员会引入了名词空间这一概念,并把所有库函数声明由全局域改到了名词空间std。故而,目前这两种头文件等价:#include<iostream.h>和#include <iostream>;using namespace std(因为iostream声明在std中,故而要加上这句,除非你不用库函数,否则错误);

如前很多编译器都同时支持这两种头文件形式,更好的当然是标准头文件。至于为什么不废除非标准头文件,大概是为了兼容以前的代码吧。

还有一点在标准c++中,所有库函数都没有.h后缀了,如果是c语言的库函数,则去掉后缀,并在开头加上一个c(如,c++的string.h变为string,c语言的stdio.h,变为cstdio,c语言的string.h变为cstring等等)。

。。
jalsy
2010-09-14 · TA获得超过239个赞
知道小有建树答主
回答量:278
采纳率:0%
帮助的人:269万
展开全部
#include <iostream>

using namespace std;
class Myclass
{
int m_Number;

friend class friendC1;
public:
Myclass()
{
m_Number = 5;
}
};
class friendC1
{
public:
int fun(int x)
{
Myclass obj;

return obj.m_Number-x;
}
};
int main()
{
friendC1 obj;
cout<<obj.fun(10)<<endl;
}

使用名字空间。

<iostream.h>为非标准
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0d7e3c4
2010-09-14 · TA获得超过879个赞
知道小有建树答主
回答量:759
采纳率:0%
帮助的人:800万
展开全部
g++下测试#include<iostream>没问题
正常情况下应该用#include<iostream>
你最好加上 using namespace std;
试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wmn318
2010-09-14 · TA获得超过201个赞
知道小有建树答主
回答量:188
采纳率:0%
帮助的人:190万
展开全部
如果想去掉.h也行,加上以上语句就可以了using namespace std;
这个应该是iostream.h库文件里可能已经包含了标准命名空间了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ckdzn3
2010-09-14 · 超过22用户采纳过TA的回答
知道答主
回答量:145
采纳率:0%
帮助的人:71万
展开全部
#include <iostream>需要引用命名空间 std里的东西
而c版的iostream.h就相当于和这个文件放一起,所以是不一样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式