
C++
L_R
这个作者很懒,什么都没留下…
展开
-
菜鸟学习历程【27】面向对象编程(1)
面向过程编程 与 面向对象编程什么叫做面向过程编程?通俗的来说,这种编程风格如同从上到下,从左到右。首先,要考虑遵循的步骤,然后考虑如何表现这些数据。那么什么又是面向对象编程呢?从用户的角度出发考虑对象,描述对象所需的数据以及描述用户与数据进行交互所需要的操作。完成对接口的描述后,需要确定如何实现接口和数据存储。面向对象编程特点:封装、继承、多态封装:数据进行隐原创 2018-01-12 14:23:19 · 259 阅读 · 0 评论 -
《头脑王者》--在线排位答题系统构思
《头脑王者》是一款在线排位制答题小应用,我们希望在学习完 QT 后,能做一个类似的应用,那么在真正开始着手之前,将功能细化、拆分,待整体思路清晰后,再开始写代码。抛开 排位制 和 在线 两个修饰语,答题这个功能,我们还是比较熟悉的。如何答题?在学完 C++ 的容器后,对数据的存储有了更加方便的选择,在 QT 中 进行“单机版”模拟时,我们先使用链表这个容器保存题目、选项、正确答案、实际...原创 2018-02-12 20:41:14 · 3473 阅读 · 2 评论 -
菜鸟学习历程【32】函数模板与类模板
函数模板所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需在模板中定义一次即可。在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现了不同函数的功能。模板:将 算法 与 数据类型 相分离;定义:template T>voi原创 2018-01-20 13:03:52 · 651 阅读 · 0 评论 -
菜鸟学习历程【31】多态
多态概念:同样的调用语句有多种不同的表现形式。 通俗的来说:根据传入的对象类型的不同,调用不同的派生类的相应函数。多态实现的条件: 1.要存在继承关系; 2.对虚函数的重写; 3.基类指针(引用)指向派生类对象静态联编与动态联编静态联编:程序匹配,连接在编译阶段实现,也称为早期联编(在编译的时候,就知道了该去调用谁) 例如:函数重载动态联编:程序联编推迟到运行时进行,原创 2018-01-16 20:50:35 · 204 阅读 · 0 评论 -
菜鸟学习历程【29】运算符重载
我们知道,函数重载就是对一个已有的函数赋予新的含义,使之实现新功能。 那么对于运算符而言,也可以重载实现不同的功能。不可重载的运算符有(用括号括起来): (.),(::),(.*),(?:),(sizeof) 不可使用友元函数重载的有: = 、 () 、 【】、 ->对于无法修改左操作数的时候,只能使用全局函数实现。双目运算符以“+”运算符为例//对于两个整型原创 2018-01-12 20:12:33 · 223 阅读 · 0 评论 -
菜鸟学习历程【26】引用、内联函数、默认参数、函数重载
引用我们定义一个整型变量 a ,并赋值10;int a = 10;整型数据占4个字节,a是一个标识符,这个标识符代表这个空间,对这个标识符的操作,就是对这块空间的操作。那么引用呢,就是给这段空间起一个小名,原本它被称为 a ,现在我们也可以叫它其他的名字。引用的格式:类型 & 小名 = 原名;例如:int &b = a; //b就是对a的引用别名依赖于原名,普通引用必须初始化。int &c;原创 2018-01-07 20:52:16 · 265 阅读 · 0 评论 -
菜鸟学习历程【30】继承与派生
继承与派生类之间的关系:使用、包含、继承 使用:一个类使用了另一个类的对象,友元类、 包含:一个类中有另一个类的对象,例如,圆类 和 点类 继承:一个类是另一个类的特殊实例继承是使用已经编写好的类来创建新类,新的类具有原有类的所有属性和操作,也可以在原有的基础上进行增补。 通常我们将新类称为派生类(子类),将被继承的类称为基类(父类);语法:class 派生类: 继承权原创 2018-01-15 16:55:01 · 266 阅读 · 0 评论 -
菜鸟学习历程【33】类型转换、异常
类型转换在 c语言 中,类型转换时很简单的,大致分为两种: 1.隐式转换char c = 'A';int a = c; // a = 652.强制转换double d = 1.2;int a = (int) d; // 丢失小数部分这会导致两个问题的出现: 1)任何类型之间都可以转换,编译器很难判断正确性; 2)在源码中无法快速定位所有使用强制类型转换的语原创 2018-01-23 21:06:17 · 237 阅读 · 0 评论 -
菜鸟学习历程【25】C++入门
C++入门命名空间将全局空间进行划分,全局空间也被称为默认命名空间,命名空间可以相互嵌套。例如:这里在全局空间中,开辟了三个大的命名空间分别为Name1,Name2, Name3,其中Name3中又有两个命名空间Name4和Name5; //命名空间的定义,命名空间内可以写变量、函数、宏定义namespace Name1{ int a;}namespace Name2{ i原创 2018-01-05 20:25:02 · 319 阅读 · 0 评论 -
菜鸟学习历程【28】面向对象编程(2)
对象初始化列表类中如果有一个其它类的对象,而其他类没有无参构造函数时,无法初始化该类的对象,此时需要对象的初始化列表。举个圆类与点类的例子进行说明:class Point{public: Point(int x, int y) { m_x = x; m_y = y; printf("调用了点(%d, %d)的构造函原创 2018-01-12 16:50:56 · 207 阅读 · 0 评论 -
《头脑王者》——在线排位答题系统源码
声明:这些源码尚有可完善之处,因本人能力尚浅,如有错误,还望指正,谢谢!服务器端 1. widget.h & widget.cpp//widget.h#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QTcpServer> // tcp服务器类#include &...原创 2018-02-13 22:33:04 · 8560 阅读 · 9 评论