Chrety
Chrety
全部文章
学习笔记
C++(8)
DOS(2)
Python(2)
动态规划(12)
图论(8)
字符串(1)
数学(10)
数据结构(14)
未归档(2)
杂(1)
算法(13)
详尽的思路(1)
题解(1)
归档
标签
去牛客网
登录
/
注册
lyk'nowcoder blog
欢迎看Chrety的博客
全部文章
/ 学习笔记
(共10篇)
C++友元
友元 只有本类中的成员函数可以访问本类的私有成员,阻止其他访问,但在某些情况下。我们要访类的私有成员,如果把私有成员定义为共有的话,就破坏了类的隐藏性,这是我们就用到了友元。 友元(friend)机制可以允许类外的函数和其他类访问本类的私有成员。 友元在类中声明,以关键字firend开始,可以在类中...
c++
2019-07-19
0
968
C++继承(一) 三种继承方式
继承定义 继承是使代码可以复用的重要手段,也是面向对象程序设计的核心思想之一。 继承就是不修改原有的类,直接利用原来的类的属性和方法并进行扩展。原来的类称为基类,继承的类称为派生类,他们的关系就像父子一样,所以又叫父类和子类。 一般格式如下: class 派生类名 : 继承类型 基类名 派生类成员可...
c++
2019-07-19
0
910
this指针详解
什么是this this是一个const指针,存的是当前对象的地址,指向当前对象,通过this指针可以访问类中的所有成员。 当前对象是指正在使用的对象,比如a.print(),a就是当前对象。 关于this1. 每个对象都有this指针,通过this来访问自己的地址。2. 每个成员函数都有一个指针形...
c++
2019-07-19
0
924
c++静态成员
静态成员变量 不同的对象占用不同的内存,这就使不同对象的成员变量相互独立,互不影响。给定两个对象a和b,假设我们修改了a.a,b.a并不会受到影响。 如果我们想要在多个对象之间共享一个数据,这就用到了静态成员变量。 静态成员变量是一种特殊的成员变量,被static修饰。 只能被定义一次,储在全局常...
c++
2019-07-19
0
845
构造函数(三) 拷贝构造函数
什么是拷贝构造函数 拷贝听起来真高级拷贝构造函数形如 class_name(const class_name &object_name) 拷贝构造函数是一种特殊的构造函数,只有一个参数,这个参数是本类中的一个对象,以引用的形式传参,一般用const修饰,使参数值不变。 如果没有定义拷贝构造函...
c++
2019-07-19
0
943
析构函数
什么是析构函数 创建对对象时,系统会自动调用构造函数为我们进行初始化,同样,在销毁对象时也会自动调用一个函数为我们收尾,如释放内存等,这个函数是析构函数。 析构函数也是一种特殊的成员函数。 特点 析构函数的名称和类的名称相同,在前面加~ 析构函数没有返回值,无参数 析构函数只能在类中使用,且只有一...
c++
2019-07-19
0
729
构造函数(二) 初始化列表
初始化列表 为了给类成员变量赋值,可以再构造函数的函数体内对成员变量赋值,也可以采用初始化列表。如: #include <bits/stdc++.h> using namespace std; class A { private : int a, b; p...
c++
2019-07-19
0
568
构造函数(一) 构造函数及重载
什么是构造函数 构造函数是初始化类对象的类成员函数。在c++中,当对象被创建时,自动调用构造函数,构造函数是该类的一个特殊成员的函数 构造函数和一般的成员函数有什么不同 构造函数的名称和类的名称完全相同 构造函数没有返回类型(包括void) 创建对象的时候自动调用构造函数 如果我们不写构造函数,编...
2019-07-19
0
580
树形DP求树的直径
## 思路: 非常套路性的一个东西,记录一下,防止遗忘 设$f[i]$表示以$i$为根,到其子树的叶节点的最大距离。 考虑如何用子节点更新父节点, 当前点到叶节点的最大距离=max{子节点到叶节点的距离+当前点到子节点的距离}。 设$u$为当前节点,$v$为$u$的子节点,$dis(u,v)$是...
2019-07-19
0
941
树链剖分详解
预备知识:线段树,DFS序 DFS序 DFS序,字面意思,就是DFS到的顺序 我们只需要在搜到节点的时候记录一下就可以了 比如这样可能是一个树的DFS序 那知道了DFS序又有什么用呢 我们可以发现一颗子树在DFS序上是连续的一段 ...
2019-07-19
2
4384