QT中类的前向声明

前向声明(forward declaration):
刚开始接触QT编程就会看到如下的代码:
头文件中:
1 #ifndef FINDDIALOG_H
2 #define FINDDIALOG_H

3 #include <QDialog>

4 class QCheckBox;
5 class QLabel;
6 class QLineEdit;
7 class QPushButton;
8 class FindDialog : public QDialog
9 {
10     Q_OBJECT

11 public:
12     FindDialog(QWidget *parent = 0);

13 signals:
14     void findNext(const QString &str, Qt::CaseSensitivity cs);
15     void findPrevious(const QString &str, Qt::CaseSensitivity cs);
16 private slots:
17     void findClicked();
18     void enableFindButton(const QString &text);

19 private:
20     QLabel *label;
21     QLineEdit *lineEdit;
22     QCheckBox *caseCheckBox;
23     QCheckBox *backwardCheckBox;
24     QPushButton *findButton;
25     QPushButton *closeButton;
26 };

27 #endif

这里开头的类声明就叫作类的前向声明。前向声明的作用是告诉编译器这个类的存在,由于这里只是使用了这些类的指针,编译器不用关心这些类的具体定义。使用前向声明后在这里就不用包含相应的头文件。但是在CPP文件中,如果要对这些前向声明类的指针进行实例化就必须包含相关的头文件,一般在CPP文件中会包含<QtGui>,这个库就包含了这些类的声明。据说这样做的好处是加快编译速度。

这里还有一篇关于类的前向声明的文章http://blog.csdn.net/todototry/archive/2007/04/12/1562394.aspx

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值