发布网友 发布时间:2023-08-12 05:24
共2个回答
热心网友 时间:2023-08-12 07:51
楼上解释的基本没问题,但我这里想强调一点,你是否把类的定义都写在了头文件?如果是,非常不推荐。头文件尽量只有类和函数、全局变量的声明,而其定义应该定义在.cpp/.c源文件里,这样头文件就不必加#include<iostream>之类的东东。热心网友 时间:2023-08-12 07:52
是头文件里的cout没有被声明?追答因为头文件是用来给大家用的,是你设计一大堆函数、类库的接口。如果在头文件里using namespace std;,那么就会使所有包含你头文件的源文件都使用std名字空间,你不能保证每个人都希望使用std名字空间。如果头文件里使用了更多的名字空间,后果就更严重,开发工程的时候都这么做,可能导致严重的重名。况且名字空间只能using(开始使用),没有unusing(停止使用)
头文件里#include 最好加上吧,若不加上,你至少要保证头文件包含在标准库包含之后,而且即使这样也不一定对。头文件是用来提供编译所需信息的,并不一定在每个源文件里展开,否则展开后每个源文件非常巨大,编译缓慢。因此最好让每个头文件独立地看起来正确。