自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 问答 (3)
  • 收藏
  • 关注

原创 吐槽一下有些书上对红黑树性质的描述

红黑树有个性质是说:对每个结点,从该结点到任一叶结点的简单路径上,所含黑结点的数量相同(这段话出自王道数据结构书)。个人感觉这段话说的就很精辟,很准确!而有的书对这段话的描述是:从一个结点到其子孙结点的所有路径上包含相同数量的黑结点。这段话描述的简直让人无语。为此我专门查了一下子孙结点的定义如下图然后就是我要吐槽的内容了:子孙结点!那在下面这个图中6到11有一个黑结点,而6到20下面的那个黑结点却有两个黑结点,那这是所谓的一个结点到其《子孙结点》包含相同数量的黑结点吗?真的感觉很不精确,着实不.

2022-06-27 19:03:09 223 1

原创 (详解)c++输入输出运算符重载

首先引入一段代码#include <iostream>using namespace std; class Distance{ private: int feet; // 0 到无穷 int inches; // 0 到 12 public: // 所需的构造函数 Distance(){ feet = 0; inches = 0;

2021-12-12 17:52:36 3819 2

原创 类模板初始基础

/*类模板作用:建立一个通用类,类中的成员,数据类型可以不具体指定,用一个虚拟的类型来代表语法:template <typename T>类*/template<class nametype,class agetype>class person{public: person(nametype name, agetype age) { this->m_name = name; this->m_age = age; } void sho.

2021-11-19 16:02:14 349

原创 多态(多接口)

在实际的开发中常常使用开闭原则:对扩展进行开发,对修改进行关闭。而多态可以很好的是实现这个原则。#include<iostream>#include<string>using namespace std;class computer{public: int getresult(string oper) { if (oper == "+") { return m_num1 + m_num2; } else if (oper == "-")

2021-11-12 17:08:55 571

原创 this指针详解

https://www.cnblogs.com/liushui-sky/p/5802981.html搬运这个网址里面大神写的

2021-11-11 16:15:03 190

原创 c++中左移运算符和递增运算符的重载(详细解析)

首先从左移运算符(<<)开始迷糊,然后迷迷糊糊听到了递增运算符(++)一直有几个问题让我停滞不前,问题如下:1.左移运算符中的返回ostream引用问题,以及重载左移运算符函数中的形参问题2.this指针的相关问题,这里主要是:为什么递增运算符返回的是*this,这个*this是什么东西3.下面的函数中那么多 << 什么时候才会调用这个重载后的 << 呢(可以和1联系的看)下面附上代码:#include<iostream>usin...

2021-11-05 17:58:29 640

原创 c++中点运算符和箭头运算符

箭头运算符(->)用于结构体/类 指针变量访问成员。A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针点运算符(.)用于结构体/类变量 或者对象 访问成员。A.B则A为对象或者结构体;...

2021-11-01 21:14:10 372

原创 空指针访问成员函数

c++中的指针是可以调用类中的成员函数的,但是不可以调用类中的属性下面附上代码#include<iostream>using namespace std;/*空指针访问成员函数c++中空指针也是可以调用成员函数的,但也要注意有没有用到this指针如果用到this指针,先不要加以判断保证代码的健壮性*/class person{public: void showclassname() { cout << "show" << endl;

2021-11-01 19:58:31 613

原创 细说深浅拷贝

首先说明下深浅拷贝浅拷贝:简单的赋值拷贝操作,执行的是编译软件自己带的默认拷贝(会带来堆区的内存被重复释放的问题,导致程序崩掉,用深拷贝可以解决此类问题)深拷贝:根据以下代码自行理解#include<iostream>using namespace std;/*深浅拷贝 浅拷贝:简单的赋值拷贝操作 ,带来的问题是堆区的内存重复释放(程序会报错,解决办法是运用深拷贝)深拷贝:*/class person{public: person() { cout

2021-10-29 17:43:43 88

原创 c++中把类的声明和实现分到.h和.cpp文件中去

在写代码是如果把类的声明和实现等一大堆都写到一个文件中去,会使代码的可读性变的很弱,代码会看起来很乱,尤其是当你纠错调试时会很吃力,所以把类的声明和实现分到其他.h和.cpp中去,下面介绍怎么把他们实现#include<iostream>#include<string>using namespace std;class point{public: void setx(int x) { m_x = x; } int getx() { return

2021-10-27 22:21:44 3002

原创 引用和函数模板的相关注意事项

函数模板的注意事项:函数模板是把相同函数名的函数通过 改变参数的类型,顺序,个数 来使同一个名字的函数实现不同的功能但是注意:不能通过改变返回值的类型构造函数重载引用的相关注意事项:1.引用必须初始化,且初始化之后不可以更改如: int &b; 这是不对的,因为没有初始化,且b成为a的别名后就不能是c的别名了2.引用传参时,可以利用引用的方式让形参修饰实参,就是在传参时候把主函数中的值都改变,而不是只改变函数中的局部参数(其效果与地址传递即用指针传递异曲同工,但不同于值传递).

2021-10-22 17:34:39 234

原创 结构体案例

#include<iostream>#include<string>#include<ctime>using namespace std;/*结构体案例*/struct stu { string sname; int score;};struct tea { string tname; struct stu sarray[5];};void allocatesapce(tea tarray[],int len) //这里的tea t...

2021-10-15 17:30:39 97 1

原创 c++选择循环相关-------猜数游戏

#include<iostream>#include<ctime>using namespace std;int main() {//猜数问题 //添加随机数的种子,作用利用当前系统时间生成随机数,防止每次随机数都一样srand((unsigned int)time(NULL)); //1.系统生成随机数 int num = rand() % 100 + 1; //rand函数 rand()100%生成的是0~99的随机数 //cout &l.

2021-09-28 19:09:30 292

原创 c++学习记录

开始学习时的疑惑,可能是一些简单幼稚的问题。。#include<iostream>#include<string>using namespace std;int main() {int score = 0; cout << "请输入一个分数:" << endl; cin >> score; cout << "输入的分数为:" <<score<< endl; if (score >= 6

2021-09-26 11:25:25 75 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除