c++基础
文章平均质量分 88
卜若
love game,love life
展开
-
c++Lab-虚函数
c++Lab-虚函数里氏转换原则c++的虚函数虚函数的实现机制去掉virtual关键字获取普通函数和虚函数的地址机制 里氏转换原则 原文是派生的子类可以用于直接替代其基类 这个是一个很有意思也很常用的原则,当然也很重要,一般在面向对象设计里面我们最常看到的就是策略模式 //c# interface IMonster{ void run() } class Skeleton: IMonster{ override void run(){ Console.WriteLine("im Skeleton"原创 2021-06-22 00:49:30 · 646 阅读 · 0 评论 -
c++lab-智能指针与引用计数的垃圾回收机制
背景 上世纪九十年代末期,随着java和c#的兴起,垃圾自动回收机制开始成为一种潮流,这个时候,也就是c++98定义了一种新标准:auto_ptr,提供了垃圾自动回收的机制。 1.auto_ptr 使用方式比较简单 //需要引用std的命名空间 class Player { public: int id; string name; Player(int id,string name) { this->id = id; this->name = name; } }; int mai原创 2021-06-18 16:05:22 · 368 阅读 · 2 评论 -
卜若的代码笔记-一周搞定树莓派-第八章:c++面向对象基础(三:多态)
1 多态的本质就是为了让一个人干的活分给100个人去干 比如,我,主程,我写了一个65式枪械的基类,我希望你们将它发展成100种不同类型的枪械,于是,这100个人就去继承它,重写它,从而完成一个人的活分给了100个人去干。 所以,c++的继承是怎么样的呢? 先来一个不带参数的继承,Box2继承自Box 关于这一章节,我们只讨论单继承,也只讨论单继承的一个问题 一:构造和析构的执行顺序 看得懂的吧父类的构造->子类的构造->子类的析构->父类的析构 下一章开..原创 2020-08-03 21:30:40 · 132 阅读 · 1 评论 -
卜若的代码笔记-一周搞定树莓派-第七章:c++面向对象基础(二:堆栈之争)
1 c++五大区是基本概念 栈,堆,常量,静态,程序区 所以 你得区分java和c++定义对象时,内存分配的基本区别 对于java来说,定义内存,就只有一种方式 Test test = new Test(); 其中test存放到栈区,此时的test仅仅只是引用,也就是(替身),而new Test()这个对象存放到堆区 对于c++,情况要复杂得多 c++的定义存在两种情况 情况一:Test test; Box box; box.height = 22; b.原创 2020-08-03 21:17:37 · 176 阅读 · 1 评论 -
卜若的代码笔记-一周搞定树莓派-第六章:c++面向对象基础(一:定义基本对象)
1 你终于还是选择了cv侠 你开始觉得不甘,于是你开始去复习c++面向对象的基础 你打开了菜鸟教程,并进入了面向对象系列的学习 https://www.runoob.com/cplusplus/cpp-classes-objects.html 同时,你创建了一个QT的console程序 你开始了解c++里面的对象: 你发现,它和java有一些区别 class Box { public: double length; // 盒子的长度 doub..原创 2020-08-03 19:31:51 · 170 阅读 · 0 评论