- 博客(16)
- 收藏
- 关注
原创 设计模式中的装饰模式
装饰模式又称为包装模式,可以通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一种替换方案。装饰模式吧要添加的附加功能分别放在单独的类中,并让这个类包含他要装饰的对象,需要执行时,客户端可以选择地,按顺序的使用装饰功能包装对象,比如一个普通手机phone,添加一个拍照功能成了一个photo_phone,在此基础上再加一个播放音乐功能就成了一个又能拍照又能播放音乐的music_phone,...
2018-08-16 20:48:54 135
转载 设计模式的6大原则
设计模式之六大原则(转载) 设计模式之六大原则(转载) 关于设计模式的六大设计原则的资料网上很多,但是很多地方解释地都太过于笼统化,我也找了很多资料来看,发现CSDN上有几篇关于设计模式的六大原则讲述的比较通俗易懂,因此转载过来。 原作者博客...
2018-08-10 21:11:18 300
原创 vector容器用法
vector容器简介:vector是将元素置于一个动态数组中加以管理的容器。vector可以随机存取元素(支持索引值直接存取, 用[]操作符或at()方法)。vector尾部添加或移除元素非常快速。但是在中部或头部插入元素或移除元素比较费时。vector采用模板类实现,vector对象的默认构造形式vector<T> vecT; vector<int> v...
2018-08-08 20:52:52 971
转载 函数对象
函数对象:定义了调用操作符()的类对象。当用该对象调用此操作符时,其表现形式如同普通函数调用一般,因此取名叫函数对象。举个最简单的例子:class A { public: int operator() ( int val ) { return val &g...
2018-08-07 10:09:36 205
转载 stl stack
C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构。c++ stl栈stack的头文件为: #include <stack> c++ stl栈stack的成员函数介绍操作...
2018-08-06 00:11:09 528
原创 函数模板和类模板
为什么要有函数模板?写了两个函数用来实现int型求和与double型求和,这两个函数只是返回值和参数类型不同,基本功能是一样的,但是却需要写两个函数,当这样功能一样的函数变多之后就要用到函数模板来减少工作量。#include <iostream>using namespace std;/*int add(int x, int y){ return (x + y);}...
2018-08-04 16:21:43 445
转载 c++类型转换
首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数据类型成为目标转换类型。&n...
2018-08-03 21:29:50 125
原创 多态
函数重写:在子类中定义与父类中原型相同的函数函数重写只发生在父类与子类之间重载与重写区别:重载:同一个作用域; 子类无法重载父类函数,父类同名函数将被覆盖; 重载是在编译期间根据参数类型和个数决定;重写:发生于父类、子类之间; 父类和子类函数有相同的函数原型;使用virtual关键字声明后能够产生多态;#include<iostream...
2018-08-02 23:37:16 107
转载 c++中的static
一、面向过程设计中的static 1、静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个全局变量和静态全局变量的例子,例如,在文件A中定义静态全局变量 i 和全局变量 j : #include<iostream&...
2018-08-01 23:40:11 126
转载 函数模板
今天在写程序时感觉因为函数参数类型的问题而重复编逻辑相同的函数比较烦,遂翻书找到了模板,并整理了C++模板的简单使用方法。 c++模板有函数模板和类模板两种使用方法。 函数模板 定义 在函数前加...
2018-08-01 23:34:21 120
转载 虚函数列表
在游戏中,很多时候我们要求不同的对象做相同的工作,例如CCLabelTTF和CCLabelTTFColor都继承自CCLabelProtocol,CCLabelProtocol就是一个接口类,只有setString()和getString()两个纯虚函数,派生类CCLabelTTF和CCLabelTT...
2018-07-30 20:41:06 2418
转载 类的继承
假定有一个类A,要创建一个新类B,他是类A的一个特殊版本。类A就称为基类,类B则成为派生类,类A是父,类B是子。派生类自动包含基类的所有数据成员和所有函数成员(但有一些限制),这称为派生类继承了基类的数据成员和函数成员。C++继承的一般语法为:class 派生类名:[继承方式] 基类名{ 派生类新增加的成员};继承方式限定了基类成员在派生类中的访问权限,包括 public(...
2018-07-29 20:38:25 154
原创 运算符重载
所谓重载,就是重新赋予新的含义。函数重载就是对一个已有的函数赋予新的含义,使之实现新功能,因此,一个函数名就可以用来代表不同功能的函数,也就是”一名多用”。为什么要用运算符重载1为什么会用运算符重载机制 用复数类举例 Complex c3 = c1 + c2; 复数相加,(1+2i)+(3+4i),编译器不知道(1+2)+(2+4)i 原因...
2018-07-29 19:51:56 191
转载 构造函数和析构函数
c++中的类可以定义与类名相同的特殊成员函数,这种那个与类名相同的成员函数叫做构造函数,构造函数分为有参数和无参数的,没有任何返回值类型的声明。构造函数的调用分为自动调用:一般情况下c++编译器会自动调用构造函数手动调用:在一些情况下则需要手动调用构造函数拷贝构造函数:当类中没有定义拷贝构造函数时,所有类都有一个默认的拷贝构造函数,拷贝构造函数只是做简单的赋值调用时机:...
2018-07-29 17:00:05 2700
原创 函数重载
通常同一文件中的函数名不能重名,不同文件中的非静态函数不能重名。但c++中函数名可以使重复的,,c++语言规定如果两个函数的形参个数不同或数据类型不同(包括顺序不同,如:int float和float int),就可以重名,重名的函数被称为重载函数,需要注意的是函数返回至不是函数重载的标准。当函数重载遇上函数默认参数#include <stdio.h> int fun...
2018-07-26 14:32:32 641
原创 c++课程入门笔记,零碎小知识点
c是c++的子集,c++中与c的不同1、register c中 下面代码a为寄存器变量,不能进行&操作,gcc编译会报错#include<stdio.h>int main(){ register int a; &a; return 0;} 但是在c++中就不再是寄存器变量,而是一个普通变量,g++编译能够通...
2018-07-25 11:17:03 197
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人