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 · 453 阅读 · 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 · 306 阅读 · 2 评论 -
卜若的代码笔记-一周搞定树莓派-第八章:c++面向对象基础(三:多态)
1 多态的本质就是为了让一个人干的活分给100个人去干比如,我,主程,我写了一个65式枪械的基类,我希望你们将它发展成100种不同类型的枪械,于是,这100个人就去继承它,重写它,从而完成一个人的活分给了100个人去干。所以,c++的继承是怎么样的呢?先来一个不带参数的继承,Box2继承自Box关于这一章节,我们只讨论单继承,也只讨论单继承的一个问题一:构造和析构的执行顺序看得懂的吧父类的构造->子类的构造->子类的析构->父类的析构下一章开..原创 2020-08-03 21:30:40 · 115 阅读 · 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 · 136 阅读 · 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 · 139 阅读 · 0 评论