问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C++自己写的头文件无法用cout

发布网友 发布时间:2023-08-12 05:24

我来回答

2个回答

热心网友 时间:2023-08-12 07:51

楼上解释的基本没问题,但我这里想强调一点,你是否把类的定义都写在了头文件?如果是,非常不推荐。头文件尽量只有类和函数、全局变量的声明,而其定义应该定义在.cpp/.c源文件里,这样头文件就不必加#include<iostream>之类的东东。
之所以推荐声明与定义分离,是保证万一你写的类被多个文件使用,则会导致同一个类被多次编译而链接出错。所以,一个类或函数跨文件调用,应当声明与定义分离,除非你使用了模板。

热心网友 时间:2023-08-12 07:52

是头文件里的cout没有被声明?
那就头文件里加上#include <iostream>,所有cout改为std::cout。

P.S.虽然头文件里也可以用using namespace std;,但极不推荐这么做。追问为什么不推荐用using namespace std;?

而且头文件不是都被包含在主文件里了吗,为什么还要在包含这些预处理命令?

追答因为头文件是用来给大家用的,是你设计一大堆函数、类库的接口。如果在头文件里using namespace std;,那么就会使所有包含你头文件的源文件都使用std名字空间,你不能保证每个人都希望使用std名字空间。如果头文件里使用了更多的名字空间,后果就更严重,开发工程的时候都这么做,可能导致严重的重名。况且名字空间只能using(开始使用),没有unusing(停止使用)

头文件里#include 最好加上吧,若不加上,你至少要保证头文件包含在标准库包含之后,而且即使这样也不一定对。头文件是用来提供编译所需信息的,并不一定在每个源文件里展开,否则展开后每个源文件非常巨大,编译缓慢。因此最好让每个头文件独立地看起来正确。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
“泛览周王传”的出处是哪里 避事的意思是什么 怠息的意思是什么 “偷闲来此一嚬呻”的出处是哪里 怠息意思和来源是什么 客厅中间沙发旁旁边放什么 客厅沙发旁边放什么合适 沙发左右摆什么位置 淘宝网无法注册邮箱验证 谁能帮我注册一个谷歌帐号,我一直注册不成功,淘宝上也买不到,在线等... ...表面光洁度有多少等级,不用加工的符号是什么 观赏橘冬天怎么养殖 滴滴账号因为违规被封七天 解封后一直听不到单? 还有救吗? 什么昆虫可以做好事情? 哪些昆虫能帮助人们做好事 什么昆虫能帮助人们做好事 葡萄牙移民搬家方式 移民葡萄牙的生活是怎样的 葡萄牙移民怎样呢 在家自己如何种西瓜 写出下列物质的物质类别和溶解性 草原夜色美跟美丽的草原我的家是同一首歌吗 抖音如何关闭隐私号码保护功能? 什么是吹管乐器组,包含什么民族乐器 哪些演员出演了城市猎人 澳兰黛与袋鼠妈妈哪个好些?? 万题库的考前5页纸是真的吗 万题库是助学机构吗 梦见鳗鱼咬人是什么意思 初次来西藏的血氧度多少正常? 可以如何进行计算Excel开根号公式 Excel制作一个能自动计算三角形边长的工作表 vc2005 express版中想用cin、cout,用什么头文件? 红龙鱼一个月不吃食? excel2010上方的工具栏不见了怎么办? 尾哥模玩是什么人 濮阳市一高怎么分复读班的 支付宝买完订单没消费有没有账单 江西科技师范大学是不是野鸡大学? 江西科技学院正规吗 2000多的自行车有必要买吗 自行车:人民币1000多,便宜吗? 自行车:人民币2000多,便宜吗? 自行车:人... 2017年甘肃个人医保卡能让别人用吗 省医保可以给家人用吗 优化os初始值要打开吗 操作系统优化默认值禁用怎么办 运输车拉鱼的胶鱼缸可以养锦鲤吗? 怎么记录在哪个时间点地点这个乘客经常用车 医保给子女怎么绑在一起 申请国家励志奖学金的学生为高校在在校生中几年级以上的学生_百度知 ... 冰柜高压漏了怎么修 冰柜高压漏维修方法