C++中直接class 类名和#include的区别
来源:互联网 发布:java构造方法重载要素 编辑:程序博客网 时间:2024/06/15 21:59
有一些 class QFile 等这类 看似 是声明的东西..例如下面
#ifndef WINDOW_H
#define WINDOW_H
QT_BEGIN_NAMESPACE
class QTcpServer;
class QTcpSocket;
class QProgressBar;
class QLabel;
class QDialogButtonBox;
class QFile;
QT_END_NAMESPACE
//code end
class QAction;
class QCheckBox;
...
如果没有 声明 将会 出现类似下面的错误
ISO C++ forbids declaration of 'QFile' with no type
那么 这个是做什么用的呢????
是因为在头文件里面只有这些类的指针申明,并没有真正实例化,在这个头文件对应的cpp文件里面应该会
#include < QDialogButtonBox>
#include < QFile >
...
在cpp文件里面才会正真实例化这些类。
其 实直接在头文件里面#include <QDialogButtonBox> #include<QFile>也是可以的,像它这样做,好像是可以降低各个文件编译时的关联度,不会在改动了一下部分类的时候,引发其他大量文件的重新编译,在做小工程的时候没什么区别,但是做大了,编译一次需要好几个小时的时候,这样做的优势就显现出来了
class
include头文件则是将整个该头文件与使用到的地方关联起来。
使用class
#include "xx.h" 在编译的时候把xx.h文件直接展开,所以里面的接口都能用,可以申明对象。但是classxx;这种方式就不会,你只能使用它的指针或者引用,你不能创建申明对象。
- C++中直接class 类名和#include的区别
- c++中使用include和直接写class类名的区别
- include和class+类名的区别
- #include和直接写class加类名的区别
- C++中class和include的区别
- “#include 头文件”与直接写“class 类名”有何区别
- C语言中,#include的用法:#include "" 和 #include<>区别
- include 和 class类声明的区别
- class和#include 的区别
- object-c中#import #include @class的区别
- C/C++语言中,#include <>和#include ""的区别
- C语言中,#include<>和#include" "的区别
- C++中 #include与直接写class加类名有何区别
- C++中 #include与直接写class加类名有何区别
- 类的前向声明,class和include的区别
- 类的前向声明,class和include的区别
- 类的前向声明,class和include的区别
- include h 和include 。c的区别
- 小小的html的尝试,不太好
- HDU 1205 吃糖果
- vim将多行代码前后移动一个tab的方法。
- 一个基于FPGA的虚拟参观系统
- ROS RViz基本学习笔记(二)
- C++中直接class 类名和#include的区别
- 剑指offer 面试题2 实现单例模式
- POJ 3613 Cow Relays floyd+矩阵
- DFS和BFS
- 宠物商店编程问题
- oracle 创建表空间详细介绍
- fine-tuning的二三事
- GDBT
- 03Collection集合与Map集合的基础知识