摘要: 结构与联合体是C语言中就已经存在的数据类型。C++语言对它们进行了扩展,最大的变化是允许在结构和联体中定义成员函数。 1、利用结构定义变量时,不需要带上关键字struct2、允许在struct中定义成员函数。默认访问权限为public3、在struct中没显定义任何构造函数,那可以用{}进行初始化, 阅读全文
posted @ 2016-10-31 09:52 IT男汉 阅读(1809) 评论(0) 推荐(1) 编辑
摘要: 上面是头文件 main文件 阅读全文
posted @ 2016-10-27 11:19 IT男汉 阅读(1219) 评论(2) 推荐(0) 编辑
摘要: 函数tr()的原型是QObject::tr(),被它处理的字符串可以使用工具提取出来翻译成其他语言,也就是国际化使用。 阅读全文
posted @ 2016-10-27 10:35 IT男汉 阅读(5420) 评论(0) 推荐(0) 编辑
摘要: 1、使用Qt creator IDE 2、点击文件-新建项-Application-qt widgets(部件) application 说明: QT库和QT creator (1)QT creator 仅仅是简单的IDE,可以单独下载,下载后,还需要下载QT库,进行配置.(较难) (2)也有集成Q 阅读全文
posted @ 2016-10-26 16:18 IT男汉 阅读(2004) 评论(0) 推荐(0) 编辑
摘要: 1、定义带参数的宏: #define MacroName(MacroParamList) MacroBody; 例如:#define Max(a,b) ((a)>(b))?(a):(b) 在编译器对源程序做预处理时,会自动将宏调用展开成对应的实现代码,这个过程叫宏展开。在宏展开过程中,宏的调用参数会 阅读全文
posted @ 2016-10-25 15:30 IT男汉 阅读(779) 评论(0) 推荐(0) 编辑
摘要: 链式操作是利用运算符进行连续操作。它的特点是一条语句中出现两个或两个以上相同的操作符。 1、操作符重载函数一定不能够返回void类型。 2、对赋值操作符进行重载,如果返回的是类的对象,那么链式赋值操作必须借助拷贝构造函数才能进行。这样不但会有较大的运行开销,还需要编写正确的拷贝构造函数。 c3=c2 阅读全文
posted @ 2016-10-25 15:02 IT男汉 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 1、static_cast 将一个值以符合逻辑的方式转型。这可以看做是"利用原值重建一个临时对象,并在设立初值时使用型别转换"。 唯有当上述的型别转换有所定义,整个转换才会成功。所谓的“有所定义”,可以是语言内建规则,也可以是程序员自定的转换动作。 2、dynamic_cast 将多态型别向下转型为 阅读全文
posted @ 2016-10-21 15:14 IT男汉 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 通过explicit关键字,可以阻止“单参构造函数”自动型转换。 阅读全文
posted @ 2016-10-21 14:31 IT男汉 阅读(181) 评论(0) 推荐(0) 编辑
摘要: typedef :为现有类型创建别名。 书写typedef的声明: 技巧 -如果定义一个变量的语句是合法的,那么在它前面加上typedef就一定合法,并且原来的变量名就成为了别名。 阅读全文
posted @ 2016-10-21 10:11 IT男汉 阅读(2273) 评论(1) 推荐(0) 编辑
摘要: volatile是C++的一个关键字,它是来解决变量在“共享”环境下容易出现读取错误的问题。 volatile 关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以 阅读全文
posted @ 2016-10-20 17:23 IT男汉 阅读(217) 评论(0) 推荐(0) 编辑