把类定义与类实现分开有什么实际意义?

1、保密——可以很容易看到类的接口,知道其使用方法,可以编译库后,只提供lib和头文件

2、加快编译速度——如果你把类的所有代码都内联定义到头文件中,那么所有需要用到这个类的CPP文件实际上都包含了更多的代码,编译器编译每个这样的CPP文件时都编译了这些代码。而分开定义,这些代码就只被编译了一遍,也就是在编译实现那个类的CPP文件时。

还有就是当多个程序引用到类定义这个文件时,如果对实现有任何的修改也只需将实现那个文件重新编译下就OK了,就不需要每个程序都重新编译。

COM中遵循的就是接口与实现分离的哲学,实现可以随着时间变化,但是提供给客户利用的接口不发生变化,这样客户端的程序就不需要重新编译生成,因为所有的实现都在另外一个模块中,模块与模块之间只通过接口进行通讯。很容易做成与平台无关和编译器无关的程序。

4、可读性——如果你把所有的东西都放在头文件,最大的问题不在于编译器,而在于读你程序的人。一个复杂的类可能有几万行,即使只有几百行的源码,如果你所有一切都放在头文件内部,估计绝大多数人都没有耐心去了解你这个类提供了什么接口。只把声明放头文件可以让读你程序的人在几分钟内就知道你有几个函数和属性。
5、模块化——如果你放在头文件内部实现函数,你就不可能把这个类放到lib或者dll中去



  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值