c++为什么要实现(.cpp)和声明(.h)分开?

为什么要有透明性?如果别人不关心实现,他可以折叠代码(现在的IDE几乎都支持),只看函数原型和注释。不考虑需要替换【实现方法】的情况。不考虑继承、多态、虚函数等。加上#p... 为什么要有透明性?如果别人不关心实现,他可以折叠代码(现在的IDE几乎都支持),只看函数原型和注释。

不考虑需要替换【实现方法】的情况。
不考虑继承、多态、虚函数等。
加上#pragma once,不考虑重定义。
展开
 我来答
咚咚东
2015-10-12 · TA获得超过120个赞
知道答主
回答量:126
采纳率:100%
帮助的人:15.6万
展开全部
1、增加程序的可读性;
2、将代码写在一个.cpp文件中,代码过于冗长,增加调错的难度;
3、声明与实现分开,增加可移植性,使得代码的复用性得以提高。
wangluofan
2014-02-04 · TA获得超过888个赞
知道小有建树答主
回答量:1139
采纳率:0%
帮助的人:641万
展开全部
楼上说的不对啊,分开定义根本目的并不是说重定义。就算你把函数定义在一个文件里面,照样可以的,不然前向声明还能存在吗?分开定义首先是为了简洁,谁会觉得把函数声明和定义都放在一个文件里面好?第二,在程序设计中,编写人员可能只提供一个.lib文件和头文件或DLL文件,使用者便可以应用到自己的程序中,也是方便了隐藏代码。不全面,请谅解。
追问
提供.lib&.dll也是为了隐藏代码对吗?这个(即实现了透明性)有什么好处?
追答
也不全是为这个啊。Lib文件和Dll文件是经过编译的,所以使用者使用的时候编译速度较纯写代码快很多。而且Dll函数也有导出函数和非导出函数。使用者只能使用导出函数。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
业秀竹q2
2014-02-04 · TA获得超过1091个赞
知道小有建树答主
回答量:648
采纳率:0%
帮助的人:552万
展开全部
不分开会出现重定义错误,你可以自己试试,h文件写个函数,
两个cpp文件都括入,编译就报错了
追问
假设我加上#pragma once,不会重定义,还有别的原因吗?
追答
你真试过吗,编译可以,链接也能通过?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式