查看完整版本: [-- Qt中使用的C++知识和技能 --]

QTCN开发网 -> 《零基础学Qt4编程》专栏 -> Qt中使用的C++知识和技能 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

wd007 2011-09-06 22:07

Qt中使用的C++知识和技能


Qt中使用的C++知识和技能-你必须要了解的


        如果你不确定在使用Qt编程时自己所掌握的C++知识是否够用,这一节的内容会帮到你。这里给出了Qt自身以及在使用Qt进行编程时涉及到的C++知识,因此,通过阅读本节,你会了解你是否缺少一些C++技能。
        如果你想对这里提到的C++特性做进一步的了解,我们推荐你看Gregory Satir和Doug Brown撰写的《C++:The Core Language》,该书由O’Reilly出版。这本书重点讲解了C++语言最为重要的部分,并且涵盖了本节提到的所有内容。
  • 对象和类

        当然的,Qt中使用到了类-Qt是一个类库。你需要知道某个类的成员函数的用法。而且,你需要掌握怎样写你自己的类,以及怎样继承一个已经存在的类,从而产生一个新的类。不过,你无需成为擅长类的等级设计的高手。对于GUI 程序设计,在这里我们会提供足够丰富的信息来帮助你构建自己的知识体系。
  • 存取方法

        Qt中大量的使用了存取方法,它们用来得到或者设置类的私有变量的值。保存方法通常以set...这样的型式出现(例如,setText()),而获取方法则不带有任何前缀(甚至没有get-,例如,text())。在Qt中,这是一个基本的东西(惯例,译者注);没有复杂的东西在里面。
  • 多态和虚函数

        Qt中使用虚函数来通知你的(程序中的)对象,某些低级的事件(就像鼠标点击、重绘操作那样的事件)发生了,所以你必须要适应这些函数(的用法)。不像其他的工具包或者类库,Qt主要使用创新的信号/槽机制而不是虚函数来作为对象间通信的主要的方法。这个特性对于Qt而言至关重要,所以在本书的后面章节中将会介绍它。
  • 继承

        毫无疑问,Qt中用到了继承,但是其中最重要的部分是建立在单继承之上的。多继承很少用到-实际上,它的使用少到你很可能从来没有遇到过它。如果你对那个“虚拟继承”的含义不理解的话,放心吧:Qt中根本就没有用到它。
  • 运算符重载

        Qt重载了一些运算符,但通常这些运算符只是(在背后)工作而已。举例来说,你可以把一个QString对象赋给某个函数,期望得到一个const char*,这是由于一个强制转换运算符的介入以把你的QString对象转换为一个字符指针。
  • 模板类

        你不能使用一个不理解模板或者没有完全实现模板的编译器来编译Qt。如果你不想使用集合类,在你自己的代码中使用模板就不是必需的。但是模板是非常有用的,所以你还是要尽量的熟悉基本的模板的使用。并且,这个学习起来并不复杂。
  • bool数据类型

        Qt中经常用到bool数据(对于C++而言,是较新的类型)类型。不幸的是,一些老旧的编译器不支持bool数据类型,并且也不能识别true和false这两个关键字。这时候,你可以转而使用Qt提供的TRUE和FALSE宏来替代。在本书中,我们使用true和false,但如果你手头使用的是那些老旧的编译器,你需要总是使用TRUE和FALSE代替它们。
  • 其他特性

        Qt没有使用那些尚未被所有编译器所支持的以及新的C++特性,如名字空间、运行时类型识别(RTTI),新的类型绑定等等。Qt也不使用标准模板库(STL),但你可以在自己的Qt程序中使用它。

原文链接:http://blog.csdn.net/qter_wd007/article/details/6737470

jdwx 2011-09-07 08:49
QT的模版类和STL的兼容不好,混合使用容易出问题。还是使QT自己的模版类吧。

wd007 2011-09-07 23:10
欢迎提出自己的心得体会,大家多交流。

moontea 2011-09-12 09:14
知道自己该补习哪些C++知识了,一个新手

xx34669138 2011-09-28 10:22
最近在学Qt,
呵呵,

williamshy 2011-11-10 00:50
有没有人讲下vc2005 怎么写QT程序?
什么都安装好了,也可以用vs2005编译别人写的程序。就是不知道自己怎么开始写一个简单的练习一下。

ys547007 2012-12-07 15:25
正在学习

黑皮拉风 2012-12-27 23:13
来好好学习一下

beyondhcy 2013-03-15 17:52
表示,没学C++来学Qt吃力啊,本来以为有C就可以凑合学了,处处碰壁啊,谢谢楼主分享~~

jdwx 2013-03-15 20:21
Qt是完全面向对象的,C++基础是必要的。

beyondhcy 2013-03-18 09:36
嗯呢,谢谢关心,我在边学Qt边看相关的C++基础,现在普遍点的能看懂,后面再逐步巩固!

neil-wen 2013-08-15 11:55
不错不错 值得一读

return 2016-12-10 09:28
  

laughing369 2017-12-09 14:41
学机械的有颗编程的心,谢谢指点


查看完整版本: [-- Qt中使用的C++知识和技能 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled