对可能用到的类做前置声明

 #ifndef _mainwidow_h
 #define _mainwidow_h
3 #include <QMainWindow>
4 class QAction;
5 class QMenu;
6 class QToolBar;
7 class QTextEdit;
8 class MainWindow : public QMainWindow
9 {
10 Q_OBJECT
11 public:
12 MainWindow();
13 void createMenus();
14 void createActions();

endif

第4 至第7 句对程序下文中可能用到的类进行前置声明(forward declaration)。它
们会告诉编译器,我们用到的这些类已经存在了,并且不需要知道这些类的完整定义。我们
为什么要这样做,而不是将它们的头文件包含进来呢?这主要是由于在程序下文中,我们只
是简单的定义了指向这些类的对象的指针,而并没有涉及到该类的其他方面。
这样做的好处,一是避免了头文件被其他文件多次包含,尤其是在头文件中包含头文
件时,容易造成重复包含和产生包含顺序问题,并且增大了文件的体积;二是提高了编译速
度,因为编译器只需知道该类已经被定义了,而无需了解定义的细节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值