c++primer中关于头文件和类定义的一个问题?
那要看你需要定义的类在程序中扮演一个什么样的角色。比如我要制作一个没有AI的象棋程序,那么棋子类chess的地位非常的高。这个类就要负责放置、移动、攻击棋子,main函数只需要处理游戏流程即可。这种情况下可以将成员的定义放在源文件内,头文件只需要包含成员声明。而有些类虽然重要,但是只是实现整个程序功能的一个工具而已,例如string类。假设你需要制作一个可以对对子的程序,这个程序的重点是检测上联的词语并给出下联对应的词语。这时候string的作用只是作为汉字的容器,不是核心算法的组成部分。这种情况下我们只需要知道string类可以提供哪些操作汉字的功能,那么一句#include \u0026lt;string\u0026gt;就已足够。
■网友
那些说“类的声明”的实际是在说类的定义,说“类的定义”的实际是类成员函数的定义书上的提法更合适
■网友
说法不同而已,其实表达一个意思。类的定义(没有写成员的具体实现)写在头文件里,类的具体实现写在cpp里,并且包含类定义的头文件我觉得是这样的
■网友
两者是一个意思,第一个说法的定义和你理解的定义不是一个意思。直白来说,相信第二种说法,但是你要明白,第一种说法也是对的,只是有了歧义。
推荐阅读
- 过节■江苏省委省政府办公厅下发关于做好2021年元旦春节期间有关工作的通知
- |徐州市出台《关于优化创新创业生态系统 提升区域科技创新活力的实施意见》及实施细则
- 雨下|全球关于禁售燃油车只是理论上可行吗
- 白皮书一般是政府发布的正式报告或文件,那么现在物联网、智慧城市等热门领域这么多企业发布的白皮书算咋回事呢
- 关于用phpfsocket 写Post, 模拟http 报文怎样写入要传输的处理数据
- 智叔|很多家长还在整箱买:谈谈关于牛奶的17个真相警惕这些列入黑名单的“假牛奶”
- hadoop中的mapreduce链接(mapreduce chaining)怎样避免中间文件的产生
- 关于微信小程序的思考:运营者该何去何从
- 关于人工智能虚拟人的一些问题
- 怎样防止U盘内的文件被复制
