关于C++ 的几个小问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 12:54:04
我是C++新手,书上有一题让把类的定义,类函数的定义,主函数分别放在三个不同的文件里,但是我编译时老有这样的报错:
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/array_max.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
那位高人帮忙指点一下。
还有就是能不能帮我讲讲#include"iostream" 和#include<iostream>有什么区别。谢谢!!!

array_max.exe - 2 error(s), 0 warning(s)

着就是它门的区别:
加油哦兄弟,我也是新手
哈哈!!!
很多C++程序员还在使用而不是用更新的标准的库。
这两者都有什么不同呢?首先,5年前我们就开始反对把.h符号继续用在标准的头
文件中。继续使用过时的规则可不是个好的方法。从功能性的角度来讲,
<iostream>包含了一系列模板化的I/O类,相反地<iostream.h>只仅仅是支持字符
流。另外,输入输出流的C++标准规范接口在一些微妙的细节上都已改进,因此,
<iostream>和<iostream.h>在接口和执行上都是不同的。最后,<iostream>的各组
成都是以STL的形式声明的,然而<iostream.h>的各组成都是声明成全局型的。

因为这些实质上的不同,你不能在一个程序中混淆使用这两个库。做为一种习
惯,在新的代码中一般使用<iostream>,但如果你处理的是过去编写的代码,为了
继承可以用继续用<iostream.h>旧保持代码的一致性。

///////////////////

<iostream>表示你使用的是标注命名空间,也就是在程序开始应该有这么一句话
using namespace std ;
这是遵循c++标准的
<iostream.h>
则没有遵循c++标准
////////////////
<string.h>是旧的C头文件,对应的是基于char*的字符串处理函数;
<string>是包装了std的C++头文件,对应的是新的strng类;
<cstring>是对应旧的C头文件的std版本。

主函数只能有一个
#include<iostream>是在系统的库文件里寻找头文件
而#include"iostream.h" 是在用户当前的工作目录下寻找头文件