c++ 基础
极地大王章
这个作者很懒,什么都没留下…
展开
-
【入门篇】虚函数、纯虚函数、抽象类
一、基本概念1、虚函数在类的成员函数前冠以 virtual 关键字的函数叫做虚函数。虚函数是实现运行时多态的基础,可以像普通函数一样被重载,也可以在派生类中被重写。2、纯虚函数纯虚函数是指只有函数体,没有定义函数体的成员函数。纯虚函数作为接口而存在,并不具备具体函数功能。从基类继承来的纯虚函数,在派生类中仍是纯虚函数。3、抽象类如果一个类中至少有一个纯虚函数,那么这个类...原创 2019-11-02 14:33:21 · 820 阅读 · 0 评论 -
__stdcall、__cdecl和__fastcall
前言__stdcall、__cdecl和__fastcall是三种函数调用协议,函数调用协议会影响函数参数的入栈方式、栈内数据的清除方式、编译器函数名的修饰规则等。1、调用场合__stdcall:Windows API默认的函数调用协议。__cdecl:C/C++默认的函数调用协议。__fastcall:适用于对性能要求较高的场合。2、函数参数入栈方式__stdcall:函数参数由右...转载 2019-02-23 20:45:39 · 258 阅读 · 0 评论 -
const & static 关键字
一、const 修饰符1. const 修饰符在C++中除了表现出和C语言相同的特性外,还表现出一些与类相关的特性。2. 在C语言中用 const 修饰符修饰的变量通常也被称为常量类型,但其实称为只读类型更准确,表明该变量不应该被修改。 用 const 修饰符修饰的变量必须在定义时初始化,且仅能初始化一次。 const 常量可以被其他文件引用,但在被引用时常量不可被再次赋值。 与...原创 2014-03-08 15:55:31 · 409 阅读 · 0 评论 -
static成员变量 & static成员函数
一、static成员变量1.静态成员变量的定义,与静态类型变量的定义方式一样,要在成员变量之前加关键字static。2.不同于未初始化的静态全局变量会被赋予默认值,静态成员变量必须手动初始化,并且,由于它存储在内存的静态存储区,故而在C++语法中静态成员变量只能在类体外初始化。此时,前面不需要加关键字static。3. 静态成员变量属于类而不是对象,因而它不含有隐含的*this指针参数...原创 2019-02-24 14:35:15 · 1247 阅读 · 0 评论 -
【设计模式】总览
一、设计模式分类总体来说设计模式分为三大类:1)创建型模式工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。2)结构型模式适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。3)行为型模式策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。二、设计模式的...原创 2019-03-24 22:47:37 · 223 阅读 · 0 评论 -
【设计模式一】工厂模式
工厂模式分为:简单工厂模式、工厂方法模式、抽象工厂模式简单工厂模式核心思想:用一个工厂类根据不同的输入条件new出不同的派生类指针,然后利用多态的特性调用不同派生类中virtual函数,得到不同的结果结语:他真的很简单,以上所有的判断处理都在工厂类中完成,通过CreateFactory函数,根据不同的类型new 出派生类指针,返回基类指针。这个设计的好处是足够简单,你给...原创 2019-03-24 22:51:50 · 237 阅读 · 0 评论 -
【设计模式二】Singleton单例模式
前言单例模式的实现方法很多,但是其中的门门道道很值得研究。单例模式的意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。这让我们想到类的静态函数只能由类来调用,这个方法就跟类的实例没有关系了。这个方法的作用是获取类的私有静态类的指针。这个类的指针在类被声明的时候就被初始化,并且是静态的,跟实例无关,因此,每次调用静态成员方法的时候,都会获取同一个指针。...转载 2019-03-24 22:57:38 · 148 阅读 · 0 评论