C++
文章平均质量分 53
weixin_40878579
这个作者很懒,什么都没留下…
展开
-
C++对C的扩展
C语言和C++语言关系 C语言是在实践的过程中逐步完善起来的 没有深思熟虑的设计过程 使用时存在很多“灰色地带” 残留量过多低级语言的特征 直接利用指针进行内存操作 当面向过程方法论暴露越来越多的缺陷的时候,业界开始考虑在工程项目中引入面向对象的设计方法,而第一个需要解决的问题就是:高效的面向对象语言,并且能够兼容已经存在的代码。 C语言 + 面向对象方法论===》Objectiv...原创 2018-05-09 22:53:15 · 433 阅读 · 0 评论 -
设计模式(7)---结构型之装饰模式
1 概念装饰(Decorator )模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。装饰模式就是把要添加的附加功能分别放在单独的类中,并让这个类包含它要装饰的对象,当需要执行时,客户端就可以有选择地、按顺序地使用装饰功能包装对象。2适用于:装饰者模式(Decorator Pattern)动态的给一个对象添加一些额外的职责。就增加功能来说,此模式比生...原创 2018-12-12 22:40:47 · 160 阅读 · 0 评论 -
设计模式(8)---结构型之适配器模式
1 概念Adapter模式也叫适配器模式,是构造型模式之一,通过Adapter模式可以改变已有类(或外部类)的接口形式。2 适用于:将一个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。3 案例:用适配器完成220V电压转换成18V电压#include <iostream>using namespace std;// Cur...原创 2018-12-13 22:33:08 · 167 阅读 · 0 评论 -
设计模式(9)--结构型之桥接模式
1 概念Bridge 模式又叫做桥接模式,是构造型的设计模式之一。Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。**2 适用于:**桥接模式(Bridge Pattern)是将抽象部分与实现部分...原创 2018-12-13 22:55:48 · 184 阅读 · 0 评论 -
C++ STL 容器(1)
1 基本概念STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。现然主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。2分类1.STL的从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),容器和算法通过迭代器可以进行无缝地连接。2.STL详细的说六大组件-–...原创 2018-12-09 15:13:14 · 154 阅读 · 0 评论 -
C++ STL 容器(2)
一 STL的string1 概念:(1)string是STL的字符串类型,通常用来表示字符串.(2)string和char*的比较:(a)string是一个类, char*是一个指向字符的指针。(b)string不用考虑内存释放和越界。(c)string提供了一系列的字符串操作函数(这个等下会详讲)查找find,拷贝copy,删除erase,替换replace,插入insert2 str...原创 2018-12-09 15:48:26 · 139 阅读 · 0 评论 -
C++ STL 容器(3)
一 Queue容器1 简介#include <queue>queue是队列容器,是一种“先进先出”的容器。queue是简单地装饰deque容器而成为另外的一种容器。2 queue的push()与pop()方法queue.push(elem); //往队尾添加元素queue.pop(); //从队头移除第一个元素3 queue的数据存取queue.back()...原创 2018-12-09 16:41:24 · 237 阅读 · 0 评论 -
C++STL 综合案例
1)某市举行一场演讲比赛,共有24个人参加,按参加顺序设置参赛号。比赛共三轮,前两轮为淘汰赛,第三轮为决赛。2)比赛方式:分组比赛第一轮分为4个小组,根据参赛号顺序依次划分,比如100-105为一组,106-111为第二组,依次类推,每组6个人,每人分别按参赛号顺序演讲。当小组演讲完后,淘汰组内排名最后的三个选手,然后继续下一个小组的比赛。第二轮分为2个小组,每组6人,每个人分别按参赛号顺序...原创 2018-12-09 16:50:01 · 692 阅读 · 0 评论 -
设计模式介绍
1 简介设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;2 分类(1)创建型模式: 通常和对象的创建有关,涉及到对象实例化的方式。(共5种模式)(2)结构型模式: 描述的是如何组合类和对象以获得更大的结构。(共7种模式)...原创 2018-12-09 20:41:18 · 109 阅读 · 0 评论 -
设计模式(1)---创建型模式之工厂模式
1简介工厂方法模式同样属于类的创建型模式又被称为多态工厂模式。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。2 举例:工厂生产CPUclass CPU{publ...原创 2018-12-09 22:19:50 · 139 阅读 · 0 评论 -
设计模式(2)---创建型模式之抽象工厂模式
1简介抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。2 举例工厂即生产CPU又生产内存。class CPU{public:virtual void getCPU() = 0;};class Memory{public:virtual void getM...原创 2018-12-09 22:28:33 · 135 阅读 · 0 评论 -
设计模式(3)---创建型之单例模式
1 单例模式有两种: 饿汉式及懒汉式。2 懒汉式存在多线程问题需要加锁。class singleton{private:singleton(){}public:static singleton* getInstance();private:static singleton* m_psl;};singleton* singleton::getInstance(){if ...原创 2018-12-09 22:41:30 · 169 阅读 · 0 评论 -
设计模式(6)---结构型之代理模式
1 概念Proxy模式又叫做代理模式,是构造型的设计模式之一,它可以为其他对象提供一种代理(Proxy)以控制对这个对象的访问。所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。#include <iostream>using namespace std;class...原创 2018-12-12 21:57:31 · 113 阅读 · 0 评论 -
设计模式(5)---创建型之原型模式
1 概念Prototype模式是一种对象创建型模式,它采取复制原型对象的方法来创建对象的实例。使用Prototype模式创建的实例,具有与原型一样的数据。1)由原型对象自身创建目标对象。也就是说,对象创建这一动作发自原型对象本身。2)目标对象是原型对象的一个克隆。也就是说,通过Prototype模式创建的对象,不仅仅与原型对象具有相同的结构,还与原型对象具有相同的值。3)根据对象克隆深度层...原创 2018-12-12 21:52:40 · 202 阅读 · 1 评论 -
C/C++中的const
1 const基础知识(用法、含义、好处)含义:int main(){const int a;int const b;//第一个第二个意思一样 代表一个常整形数const int *c;//c是一个指向常整形数的指针(所指向的内存数据不能被修改,但是本身可以修改int * const d;//d 常指针(指针变量不能被修改,但是它所指向内存空间可以被修改)const int ...原创 2018-05-09 23:15:28 · 118 阅读 · 0 评论 -
C++ ---引用(一)
1 引用概念a) 在C++中新增加了引用的概念 b) 引用可以看作一个已定义变量的别名 c) 引用的语法:Type& name = var; d) 引用做函数参数那?(引用作为函数参数声明时不进行初始化)void main01(){int a = 10; //c编译器分配4个字节内存。。。a内存空间的别名int &b = a; //b就是a的别名。。。...原创 2018-05-16 22:24:17 · 202 阅读 · 0 评论 -
C++ 类和对象
一 基本概念 类、对象、成员变量、成员函数。 面向对象三大概念:封装、继承、多态。二 类的封装 1 封装,是面向对象程序设计最基本的特性。把数据(属性)和函数(操作)合成一个整体, 2 类成员的访问控制 1)public修饰的成员变量 方法 在类的内部 类的外部都能使用 2)protected:修饰的成员变量方法,在类的内部使用 ,在继承的子类中可用 ;其他类的外部不能被使用 ...原创 2018-07-29 22:42:03 · 200 阅读 · 0 评论 -
C++类的其他成员变量及属性
一 静态成员变量 1 把一个类的成员说明为 static 时,这个类无论有多少个对象被创建, 这些对象共享这个 static 成员. 2 静态成员局部于类,它不是对象成员#include<iostream> using namespace std; class counter { static int num ; //声明与定义静态数据成员 p...原创 2018-07-31 22:33:06 · 4061 阅读 · 0 评论 -
C++ 继承和派生
1 继承概念 1)继承是类之间定义的一种重要关系; 2)基本语法:class Child : public Parent1,public Parent2; 3)Parent称基类(父类),child称派生类(子类) 4) 继承方式:public,private,protected. 5)重要说明: a)子类拥有父类的所有成员变量和成员函数; b)子类可以拥有父类没有的方法和属性; ...原创 2018-08-01 22:53:11 · 144 阅读 · 0 评论 -
c++ 多态
一 面向对象新需求 1 如果父类指针指向的是父类对象则调用父类中定义的函数,如果父类指针指向的是子类对象则调用子类中定义的重写函数 2 解决方案: 1)C++中通过virtual关键字对多态进行支持 2)使用virtual声明的函数被重写后即可展现多态特性, 3) 当在父类的函数声明中写了virtual关键字,子类中可写可不写。二 实现多态的三个条件 1 要有继承 2 要有虚函...原创 2018-08-01 23:37:01 · 105 阅读 · 0 评论 -
C++ 函数模板和类模板--泛型编程
所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。 凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需在模板中定义一次即可。一 函数模板初识 1) 为什么要有函数模板? 函数业务逻辑一样,但是函数参数类型不一样,引入泛型编程,方便程序员编程。 2) 语法: template <typena...原创 2018-08-06 22:06:11 · 10250 阅读 · 0 评论 -
C++的类型转换与异常处理
一 名称和语法 1 C语言风格:不管什么类型的转换统统是: TYPE b = (TYPE)a; 2 C++风格: 1)static_cast,静态类型转换。如int转换成char 2)reinterpreter_cast,重新解释类型 3) dynamic_cast,命名上理解是动态类型转换。如子类和父类之间的多态类型转换,运行时进行类型识别,把父类转换成子类。 4)const_ca...原创 2018-08-06 22:53:49 · 671 阅读 · 0 评论 -
c++ 纯虚函数和抽象类
一 基本概念 1 纯虚函数是一个在类中声明的虚函数,在类中没有定义实体,要求各派生类定义自己的版本。 2 纯虚函数为各派生类提供一个公共界面(接口的封装设计、软件的模块功能划分); 3 语法:virtual 类型 函数名(参数)=0; 4 一个具有纯虚函数的类成为抽象类。#include <iostream>using namespace std;class Fi...原创 2018-08-02 22:59:19 · 220 阅读 · 0 评论 -
C++输入和输出流
一 I/O流的概念和流类库的结构 1 I/O流的概念和流类库的结构 1)标准设备的输入和输出。即从键盘输入数据,输出到显示器屏幕。标准输入输出 2)标准设备的输入和输出。即从键盘输入数据,输出到显示器屏幕。标准输入输出 3)内存中指定的空间进行输入和输出,称为字符串输入输出,简称串I/O2 标准输入#include <iostream>using namespace ...原创 2018-08-07 21:16:51 · 244 阅读 · 0 评论 -
设计模式(4)--创建型之建造模式
1 概念Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。Builder模式是为对象的创建而设计的模式创建的是一个复合对象:被创建的对象为一个具有复合属性的复合对象关注对象创建的各部分的创建...原创 2018-12-12 21:43:12 · 141 阅读 · 0 评论 -
设计模式(10)---结构型之组合模式
1 概念Composite模式也叫组合模式,是构造型的设计模式之一。通过递归手段来构造树形的对象结构,并可以通过一个对象来访问整个对象树。#include <iostream>using namespace std;#include "string"#include "list"class IFile{public:virtual void display() ...原创 2018-12-16 21:43:45 · 168 阅读 · 0 评论