不同的头文件为什么可以在同一个C++里面运行?
答案:3 悬赏:40
解决时间 2021-02-18 22:44
- 提问者网友:清茶柒夏
- 2021-02-18 12:01
"#include using namespace std"和"#include "居然可以在同一个C++里面运行,而且没有错误。为什么?
最佳答案
- 二级知识专家网友:啵啵桃汀
- 2021-02-18 12:44
#include using namespace std是新的C++,解决了旧标准的一些问题,但之前很多程序都是用老标准写的,所以C++继续支持"#include 。
namespace是命名空间,之所以出来这样一个东西,是因为人类可用的单词数太少,并且不同的人写的程序不可能所有的变量都没有重名现象,对于库来说,这个问题尤其严重,如果两个人写的库文件中出现同名的变量或函数(不可避免),使用起来就有问题了,为了解决这个问题,引入了名字空间这个概念,通过使用using namespace xxx;你所使用的库函数或变量就是在该名字空间中定义的.这样一来就不会引起不必要的冲突了。(百度百科)
所以"#include using namespace std"和"#include "是两个文件。里面的代码也不一样,并且通过命名空间使两者不同。你虽然写的同是cout,但两者实际调用的函数不同,前者用的函数实际上是std::cout <<""(你若不写using namespace std就必须这样调用);而后者是cout<<""。而这也是命名空间被设计的原因。
说的有点乱,但希望你能明白我在说什么。
namespace是命名空间,之所以出来这样一个东西,是因为人类可用的单词数太少,并且不同的人写的程序不可能所有的变量都没有重名现象,对于库来说,这个问题尤其严重,如果两个人写的库文件中出现同名的变量或函数(不可避免),使用起来就有问题了,为了解决这个问题,引入了名字空间这个概念,通过使用using namespace xxx;你所使用的库函数或变量就是在该名字空间中定义的.这样一来就不会引起不必要的冲突了。(百度百科)
所以"#include
说的有点乱,但希望你能明白我在说什么。
全部回答
- 1楼网友:如果这是命
- 2021-02-18 14:20
这个要看编译器的兼容性。Windows下用VC写的话一般没什么事,编译器同时接受两种写法。如果在Linux下写的话就会出错。
- 2楼网友:温柔刺客
- 2021-02-18 14:05
一个类的声明与实现不需要单独放在一个源文件里,你之所以出错,很有可能是文件建立错了,按你的想法,第一步:建立头文件,文件类型为.h,在头文件里声明这三个类,第二步,建立一个cpp文件,将类的定义写进这个cpp文件中,第三步,再建立一个cpp文件,写上main()函数,此时你的注意,你的预处理头文件,因包含“第二个文件.cpp”.在运行就行了。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯