C++梁哥笔记day26

Qt开发

一、窗口切换

需求:主窗口点击按钮切换查询窗口,点击查询窗口的按钮切换到主窗口。

阅读全文

C++梁哥笔记day25

一、Qt概述

1.1 什么是Qt

Qt是一个跨平台的C++图形用户界面应用程序框架。它为开发者提供建立艺术级图形界面所需的所用功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。

阅读全文

C++梁哥笔记day24

算法

一、函数对象

重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象,也叫仿函数(functor),其实就是重载()运算符,使得类对象可以像函数那样调用。

阅读全文

C++梁哥笔记day23

常用容器

一、string 容器

1.1 string容器基本概念

C风格字符串(以空字符结尾的字符数组)太过复杂化难于掌握,不适合大程序的开发,所以C++标准库定义了一种string类,定义在头文件。

阅读全文

C++梁哥笔记day22

一、STL概述

长久以来,软件界一直希望建立一种可重复利用的东西,以及一种得以制造出“可重复运用的东西”的方法,让程序员的心血不止于时间的迁移,人事异动而烟消云散,从函数、类别、函数库、类别库、各种组件,从模块化设计到面向对象,为的就是复用性的提升。

阅读全文

C++梁哥笔记day21

C++异常

一、异常基本概念

Bjarne Stroustrup说: 提供异常的基本目的就是为了处理上面的问题。基本思想是:让一个函数在发现自己无法处理的错误时抛出(throw)一个异常,然后它的(直接或者间接)调用者能够处理这个问题。也就是《C++ primer》中说的:将问题检测和问题处理相分离。一种思想:在所有支持异常处理的编程语言中(例如java),要认识到的一个思想:在异常处理过程中,由问题检测代码可以抛出一个对象给问题处理代码,通过这个对象的类型和内容,实际上完成了两个部分的通信,通信的内容是”出现了什么错误“。当然,各种语言对异常的具体实现有着或多或少的区别,但是这个通信的思想是不变的。

阅读全文

C++梁哥笔记day20

一、C++类型转换

1.1 概念

类型转换(cast)是将一种数据类型转换成另一种数据类型。例如,如果将一个整型值赋给一个浮点类型的变量,编译器会暗地里将其类型转换成浮点类型。转换是非常有用的,但是它也会带来一些问题,比如在转换指针时,我们很可能将其转换成比它更大的类型,但这可能会破坏其它的数据。应该小心类型转换,因为转换也就相当于对编译器来说:忘记类型检查,把它看做其它的类型,一般情况下,尽可能地少去使用类型转换,除非来解决非常特殊的问题。

阅读全文

C++梁哥笔记day19

一、类模板(续day18)

1.1 类模板的成员函数在类外实现

阅读全文

C++梁哥笔记day18

类与对象

一、C++模板

1.1 模板概论

C++提供了函数模板,所谓函数模板,实际上是建立一个通用函数,其函数类型和参数类型不具体制定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。凡是函数体相同的函数都可以用这个模板代替,不必定义多个函数,只需在模板中定义一次即可。在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现不同函数的功能。C++提供两种模板机制:函数模板和类模板,类属-类型参数化,又称参数模板。

阅读全文