• 5327阅读
  • 6回复

Qt里系统类和自定义类怎么都没有包,正如JAVA里那样 [复制链接]

上一主题 下一主题
离线knowkjava
 
只看楼主 倒序阅读 楼主  发表于: 2009-12-09
不解一:
发现导入所有类的时候,都只是在头文件里把类名include进来,例如:
#include <QDialog>
而JAVA里则是具体到某个包下的某个类了,例如:
import java.util.Date;
不解二:
看到有的代码里这么写:
#include <QtGui/QApplication>
#include <QtGui/QMainWindow>
这个是不是就是像JAVA里似的,把QtGui包里的QApplication,QMainWindow两个类导入进来了?(如果是这样的话,#include <QDialog>又如何解释呢?难道QDialog没有包?)
不解三:
感觉C++里类管理太混乱,不像JAVA里那样系统:所有自定义的类都在一个没有包的Sources目录下。
比如我新建了一个类A,放在了Sources下;然后我又新建了一个类B,B中有对A的引用,------这时候,如果是在JAVA里,B不需要在类的头部将A导入(同包)。在C++里呢?是不是也要#inlude <A>一下?
离线dbzhang800

只看该作者 1楼 发表于: 2009-12-09
初学C++  最好忘记 Java,忘记C,不要老是和java类比
离线knowkjava
只看该作者 2楼 发表于: 2009-12-10
哦。先忘了JAVA吧
离线zzh

只看该作者 3楼 发表于: 2009-12-10
1、c++里面没有包概念,只有类,只要导入类,就可以使用里面的东西。
2、#include <QtGui/QMainWindow>和#include <QMainWindow>作用是一样的,只是某些人认为那样写会易读一些,大家学QT都会知道这些东西,所以就直接写#include <QDialog>了。
3、是的,Java有包,很多东西放一个包里,C++没有包概念,只有类和函数,所以,你需要什么功能,就把类导入到程序开头处,就可以使用它或继承它了。
离线knowkjava
只看该作者 4楼 发表于: 2009-12-10
C++写好的类都放在项目根目录下面,好杂乱哦
离线sbtree
只看该作者 5楼 发表于: 2009-12-10
最近发现很多搞Java的转到C++ & QT上来了,
好现象!光大QT
windows 7 + VC++2008 + Qt4.5.2
离线cspp

只看该作者 6楼 发表于: 2009-12-12
学好C++就不会有那么多不解了
快速回复
限100 字节
 
上一个 下一个