#include 和#include 有什么区别啊

wangbosheng09210284 2010-05-29 10:24:39
#include<iostream.h> //为什么我在这里改成<iostream>还有下面的using namespace std 写上去 就运行出现问题了
//using namespace::std;
template<typename T>
T max_value(T x,T y,T z) //函数模板的定义:求x、y、z的最大值
{ T temp;
if(x>y) temp = x;
else temp = y;
if(z>temp) temp =z;
return temp;
}
class Circle //Circle类的定义
{public:
friend ostream &operator<<( ostream &, Circle & ); //重载“<<”运算符
Circle( int a = 0, int b = 0, double c = 0.0 )
{x = a; y = b; radius = c;
}
int operator>(Circle m2) //重载“>”运算符
{if(radius>m2.radius)
return 1;
else return 0;
}
private:
int x,y; // 圆心座标
double radius; // 圆半径
}; // 类Circle定义结束
ostream &operator<<( ostream &out, Circle &C1 )
{out<<"x="<<C1.x<<" y="<<C1.y;
out<<" radius="<<C1.radius;
return out;
}
void main()
{ Circle C1(2,3,5),C2(3,5,8),C3(3,2,6); //定义3个Circle类对象
cout<<max_value(12,32,21)<<endl; //用整数作实参调用函数模板
cout<<max_value('a','A','9')<<endl; //用字符作实参调用函数模板
cout<<max_value(C1,C2,C3)<<endl; //用对象作参数调用函数模板
}
...全文
303 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
guoluqiang 2011-11-12
  • 打赏
  • 举报
回复
其实这个问题很简单的,自己找书看最好,提倡自主学习嘛,自己动手,丰衣足食!!!!!!
seraph89 2010-06-01
  • 打赏
  • 举报
回复
两个东西 里面的方法有不一样的
herman~~ 2010-05-30
  • 打赏
  • 举报
回复
带.h是保留的c的头文件,没带的是C++标准的io库
贪食蛇男 2010-05-30
  • 打赏
  • 举报
回复
分!小技巧:教您如何更快获得可用分
liutengfeigo 2010-05-30
  • 打赏
  • 举报
回复
#include <iostream.h>和#include <iostream>有什么区别啊
前者是C的。后者是C++的
FlowShell 2010-05-30
  • 打赏
  • 举报
回复
Mark
某某9 2010-05-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 coding_hello 的回复:]

有.h后缀的,是用于兼容C语言的,里面的类型均属于全局名字空间

没有.h后缀的头文件是C++标准库的头文件,名字空间为std
[/Quote]
所以说 用没有.h的 加上 std
  • 打赏
  • 举报
回复
就混个熟脸。。
xiaoyuand2010 2010-05-30
  • 打赏
  • 举报
回复
#include <iostream.h>是c中的,而#include <iostream>是c++中的,同时要注意如果你自己定义的类,头文件就是.h,如果是系统给定的,那么头文件就是h,这个在c++面向对象那本书里讲的很清楚,你可以看一下。
na2650945 2010-05-30
  • 打赏
  • 举报
回复
一个需要
using namespace std;
一个不需要。
jacey_48557 2010-05-30
  • 打赏
  • 举报
回复
学习而来。。。。。。。。。。。。。
cattycat 2010-05-29
  • 打赏
  • 举报
回复
建议用iostream和using namespace std这种写法。
别的c++编译器支持,移植性好。
lnuyasha_hrb 2010-05-29
  • 打赏
  • 举报
回复
#include <iostream>是新的头文件。标准C++创建了一种新的头文件,为标准C++库所用!新的头文件没有指定文件名。它们没有.h扩展名。
C++包含了整个C函数库,它仍然支持与那个库相关的标准C格式的头文件。标准C++也定义了新格式的头文件,可取代这些头文件。C标准头文件的C++版本只是简单地在文件名前加上"C"前缀并去掉.h。
不知道你用的是什么编译器,如果是老的编译器,可能不支持新的C++标准
正解
  • 打赏
  • 举报
回复
我用的事vc++6.0 难怪
wade_2003 2010-05-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhzxlc_06 的回复:]
#include <iostream>是新的头文件。标准C++创建了一种新的头文件,为标准C++库所用!新的头文件没有指定文件名。它们没有.h扩展名。
C++包含了整个C函数库,它仍然支持与那个库相关的标准C格式的头文件。标准C++也定义了新格式的头文件,可取代这些头文件。C标准头文件的C++版本只是简单地在文件名前加上"C"前缀并去掉.h。
不知道你用的是什么编译器,如果是老的编译器,可能不……
[/Quote]
up~~~~~~~~
chaoliu1024 2010-05-29
  • 打赏
  • 举报
回复
using namespace std;是名字空间。名字空间和新的头文件是在标准化的过程中添加的。当所有的新C++编译器支持这些特性,老的编译器不会支持!
用#include <iostream.h>取代#include <iostream> using namespace std;就可以把一个现代程序转换成一个的老式的程序!
野男孩 2010-05-29
  • 打赏
  • 举报
回复
有.h后缀的,是用于兼容C语言的,里面的类型均属于全局名字空间

没有.h后缀的头文件是C++标准库的头文件,名字空间为std
chaoliu1024 2010-05-29
  • 打赏
  • 举报
回复
#include <iostream>是新的头文件。标准C++创建了一种新的头文件,为标准C++库所用!新的头文件没有指定文件名。它们没有.h扩展名。
C++包含了整个C函数库,它仍然支持与那个库相关的标准C格式的头文件。标准C++也定义了新格式的头文件,可取代这些头文件。C标准头文件的C++版本只是简单地在文件名前加上"C"前缀并去掉.h。
不知道你用的是什么编译器,如果是老的编译器,可能不支持新的C++标准

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧