独立编译的主要目的
众所周知,C++程序具有良好的封装性。独立编译的目的就是将C++程序分配到不同的文件中去,方便多次的使用,以及修改。独立编译(ps:以博主目前的水平)主要用于C++类的封装。一个良好的封装,在使用时无需知道类的成员函数具体是如何实现的,而修改函数的实现,只需要修改实现文件即可,应用程序文件(即main函数所在的文件)无需修改。
应用:ADT的封装
原则
ADT的封装有三个原则
1、成员变量为类的私有成员
2、ADT的操作都成为类的公有成员函数、友元函数、操作符或普通函数,称为ADT的接口
3、确保ADT的使用者访问不到ADT的具体实现(ps:比如说辅助实现函数的函数名称,定义命名空间)
包括ADT的接口的文件叫做接口文件;
包含ADT的实现的文件叫做实现文件。
这里多说一句,接口文件中还包含类的私有成员函数,这是实现的一部分,但是ADT的使用者访问不到,故还是被隐藏了。
封装
所有的接口放到后缀为 .h的头文件(接口文件)中,使用封装的ADT都要包含include预编译指令。
如果是自己写的ADT,使用
include"myADT"