- 博客(11)
- 收藏
- 关注
原创 C++进阶-搜索二叉树
首先定义树的结点的结构体,结构体含有值,左指针,右指针这些信息(定义时使用模板,方便传不同类型的数据),之后定义树的模板类,成员有树的结点的根节点。删除分为叶子结点的删除,只有一个孩子(左或右)的删除,有两个孩子的节点的删除叶子结点的删除可看做是只有一个孩子(左或右)的删除。左为空,考虑到可能删除根节点,如果匹配到了根节点则将根节点的右节点置为新的根节点,不是则判断cur是parent的左节点还是右节点,左节点则使parent的左指针指向cur的右指针否则就使右指针指向cur的右指针,右为空则一样。
2024-09-18 18:02:17 219
原创 C++进阶-多态
要实现多态1.必须是基类的指针或引用调用虚函数,因为只有基类的指针或引用才能指向派生类的对象2.派生类必须对基类的虚函数进行重写或覆盖。此时称作派生类的虚函数重写或覆盖了基类的虚函数(重写时派生类的虚函数可以不加virtual,对但不太规范)基类和派生类虚函数的返回值不同,基类虚函数返回基类对象的指针或引用,派生类虚函数返回派生类对象的指针或引用。重写的概念:派生类中有一个与基类的虚函数完全相同的虚函数(返回值,函数名,参数列表完全相同),多态分为编译时多态和运行时多态,(本节重点是运行时多态),
2024-09-16 16:47:18 258
原创 C++基础语法(三)
template <class T>//模版参数列表<classT1,class T2......>template <class T>//模版参数列表<classT1,class T2......>malloc要计算空间大小并传递,new只需要跟空间类型,若为多个对象在[]中指定对象个数。void fun(const T1& a, const T2& e)//传两个类型不同的参数。//若要考的多于source,则只考到结束。//分别是无参,有参,拷贝构造。int main()//类模板都是显示实例化。
2024-07-22 11:04:15 397 3
原创 Date类的实现
以上代码为Date类中日期加天数的函数重载,如果所传的日期为负数,则将其置为正后进行减等函数的复用。所传日期为正,则是当前日期加上所传日期,之后用循环不断使月数加加直到天数小于当前并返回this指针,对于加的实现只需复用加等即可。//+=改变自身,+则不改变自身,所以定义一个空对象来记录。
2024-07-15 16:19:35 184
原创 C++中的部分语法
define ADD( e,b) ((e)+(b))//宏函数的格式,两个括号是为了控制优先级不出错,不加分号则是防止cout<<();//权限可缩小,const 引用后不可修改的静静是d,不改变c的属性。指针要额外开辟空间,引用不用,sizeof中含义不同,引用是引用类型的大小,指针是地址空间所占字节数(4或8)引用必须初始化,且引用对象不可改变,引用可减少拷贝提高效率,实现指针的传址调用相同的效果。内联函数适用于多次调用切函数体很小的函数,内联函数只是一个建议,是否采用取决于编译器。
2024-07-10 11:22:28 248
原创 第一篇学习博客
来自白银的我目前就读于双非大学,名字叫做高钰,想要在大一下学期结束前学透c语言,并且对算法有一定的了解和应用。正在通过学习学校中的课程及网课学习(学校的课讲的很快,很敷衍),网课对个人的帮助很可观,每周花费29小时学习计算机相关知识,包括网课和自我学习,本科毕业后想进入华为。
2023-11-18 21:55:39 80
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人