
C++
文章平均质量分 83
C++学习
超级码农ProMax
学习嵌入式的小白一枚
展开
-
C++入门——“继承”
面相对象的计算机语言有三大特性:“封装”、“继承”、“多态”。今天来讲解一下C++的一大重要特性——继承。通俗理解来讲,继承就和现实生活一样,子辈继承父辈的一些特性,C++中的继承也可以这样理解。它允许我们在保持原有类(父类/基类)特性的基础上进⾏扩展,增加⽅法(成员函数)和属性(成员变量),这样产⽣新的类,称⼦类(派生类)。它的语法是:子类:继承方式 父类以上代码中,动物类是一个父类,而马类和驴类就是子类,他们继承了动物类的特点,并且子类拥有动物类的参数。原创 2024-08-20 17:02:38 · 1071 阅读 · 0 评论 -
数据结构——“二叉搜索树”
private:这里typedef了BSnode为Node的类型,方便使用。并创建了根节点,缺省值为空指针。原创 2024-09-17 00:02:43 · 770 阅读 · 0 评论 -
C++入门——“C++11-右值引用和移动语义”
C++11相比于C++98增加以许多新特性,让C++语言更加灵活好用,但是貌似也增加了许多学习的难度,让我们依次了解一下这些特性都有啥吧。原创 2024-11-02 00:07:29 · 1042 阅读 · 0 评论 -
C++入门——“C++11-lambda”
C++11支持lambda表达式,lambda是一个匿名函数对象,它允许在函数体中直接定义。原创 2024-11-28 20:54:58 · 511 阅读 · 0 评论 -
数据结构——“AVL树”的四种数据旋转的方法
因为上次普通的二叉搜索树在极端情况下极容易造成我们的链式结构(这会导致我们查询的时间复杂度变为O(n)),然而AVL树就很好的解决了这一问题(归功于四种旋转的方法),它让我们的树的查询的时间复杂度变得接近于甚至等于O(logN)。它相比于普通的二叉搜索树,它增加了平衡因子来维持树的高度,增加了纸箱上一个节点的parent指针。另外,平衡因子的计算方法是右子树的高度减去左子树的高度,当当前节点的平衡因子的值为-1、0、1的时候,我们认为当前节点是平衡的,当为其他值的时候就不平衡,需要通过旋转来将树调整平衡。原创 2024-09-28 17:58:38 · 1316 阅读 · 0 评论 -
C++入 门——“多态”
多态是面向对象的一个重要特性,它允许程序在运行时通过传入不同对象而呈现出不同的运行结果,比如同样的采访,询问老师的年龄和学生的年龄最后得到的结果是不一样的,这就呈现出一种多态。多态分为两种:静态多态(编译时期就确定)和运行时多态(运行时期就确定)。编译时的多态比如有:重载,模版等,本文介绍运行时多态。原创 2024-09-12 21:59:48 · 907 阅读 · 0 评论 -
C++“STL”——模拟实现String类
char* _str;原创 2024-08-01 16:12:32 · 726 阅读 · 0 评论 -
C++入门——“模版”下
在原模板类的基础上,针对特殊类型所进行特殊化的实现方式就是模版的特化,从语义上理解就是给某个特定类型定制一套方案,以免在函数执行的时候出现错误的结果。二、全特化、偏特化//创建一个模版//模版的特化template<>int main()//测试return 0;运行结果:模版的特化有两种:一种是“全特化”即把模版参数列表中的所有参数都特化(以上示例),另一种是“偏特化”或者称作“半特化”(函数模板不支持偏特化),即只特化一部分模板参数。原创 2024-08-16 16:50:31 · 304 阅读 · 0 评论 -
C++入门——“模版”上
在C++中,有一个用起来感觉很爽的功能,那就是模版,顾名思义,就是提供一个图纸,让编译器制动生成某个东西,可以很方便的达到我们的某些需求(例如,实现一个加法函数,可以避免开发者写很多个重载函数)。C++中,模版可以分为两类:“函数模版”,“类模版”。原创 2024-07-19 17:41:38 · 338 阅读 · 0 评论 -
C++入门——“类和对象”中
C++中,类有六个默认函数,他们分别是“默认构造函数”,“析构函数”,“拷贝赋值运算符”,“拷贝构造函数”,“移动构造函数”,“移动赋值运算符”。如果开发者不显式地定义以上函数,编译器会自动生成,但是有一些时候编译器生成的往往不能满足我们的需求,因此需要开发者自己实现。那么今天介绍常用的前四种函数。原创 2024-07-13 22:32:59 · 847 阅读 · 0 评论 -
C++入门——“类和对象”下
值得注意的是,友元类具有单向性,即A是B的友元,B不是A的友元(只在B中声明friend class A),而且不具有传递性:A是B的友元,B是C的友元,但是A不是C的友元,即A能访问B,B能访问C,但是A不能访问C。内部类在本质上是一个独立的类,外部类的大小不包括内部类,但是它受外部类的访问限定符的限制,而且内部类默认是外部类的友元类,即内部类可以访问外部类的资源,但是外部类不可以访问内部类的资源。成员变量的初始化顺序和初始化列表中成员变量出现的顺序不一样,它的顺序取决于成员变量在类中声明的顺序。原创 2024-07-15 20:07:06 · 595 阅读 · 0 评论 -
C++入门——“类和对象”上
class Test可以看到,类和C语言的结构体相似(虽然在C++中,结构体也可以定义类)但是他们又有所不同。1.类里面可以定义或者声明函数。2.类有访问限定符(public、private、protected)用来限制类域内容的访问权限。3.在类中定义的函数默认内联。原创 2024-07-11 20:58:50 · 1030 阅读 · 0 评论 -
C++入门——“命名空间”、“缺省参数”、“函数重载”、“引用”
C++在C语言的基础上增加了许多东西,在我看来,它和它的名字一样,是C语言的Plus的Plus版本,而且支持C语言的大部分语法,让码农写起来很是别有一番韵味。在这里向大家介绍C++的一些语法结构。原创 2024-07-11 16:37:30 · 879 阅读 · 0 评论