
为什么要用class?
在一些大的工程中,可能会include几十个基础类,免不了之间会互相引用(不满足继承关系,而是组合关系)这时候会带来一些混乱。如果处理得不好,会搞得一团糟。
class ClassName; 只是声明一个类,并没有真正实例化。
示例:
class ClassName; //调用ClassName,前向声明
...
...
private:
ClassName *My_ClassName; //声明指针
1、已知ClassName是一个类型,但不知道包含哪些成员;
2、ClassName类是一个不完全类型(incompete type);
不完全类型:不能定义该类型的对象,只能用于定义指向该类型的指针及引用,或者用于声明(而不是定义)使用该类型作为形参类型或返回类型的函数。
优点:
1、减少编译器工作量,减少编译的时间
2、去除编译依赖,减少编译消耗的时
缺点:
1、只能以有限方式使用
2、不能够定义ClassName的对象
3、只能用于定义ClassName的指针或者引用
4、只能用于声明使用该类型作为形参或者返回类型的函数
#include"FileName.h" 是将整个FileName.h头文件与使用到的地方关联起来。
#include"FileName.h" 在编译的时候把FileName.h头文件直接展开,所以里面的接口都能用,可以申明对象。
include没什么可说的能不用就不用吧!
## 三、总结 1、头文件中(.h):尽量少include,如果可以简单申明class ClassName;解决,那最好,减少没有必要的include。 2、实现文件(.cpp)中也要尽量少include,不要include没有用到的头文件。 3、类中尽量采用指针或引用方式调用其它类,这样就可以只声明class ClassName了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)