自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Debauchery Tea Party的C++笔记⑧_1

类和对象类的基本思想是数据抽象和封装。数据抽象是一种依赖于接口和实现分离的编程(以及设计)技术。封装后的类隐藏了它的实现细节,用户只能使用接口而无法访问实现部分。C++面向对象的三大特性:封装,继承,多态具有相同性质的对象,我们可以抽象为类。定义抽象数据类型封装的意义:将属性和行为作为一个整体,来表现生活中的事物将属性和行为加以权限控制意义一:语法:class 类名{ 访问权限: 属性/行为};示例1:设计一个圆类,求圆的周长:const double PI = 3.14;c

2021-04-19 21:38:47 216

原创 Debauchery Tea Party的C++笔记⑦

new与delete当我们使用一条new表达式时:string *sp = new string("a value"); //分配并初始化一个string对象string *arr = new string[10]; //分配10个默认初始化的string对象我们要在类型名之后跟上一对方括号,在其中指明要分配对象的数目(方括号中的大小必须是整形,但不必是常量)int *pa = new int[get_size()]; //pa指向第一个int分配的内存其实并不是一个数组类型,故

2021-03-28 12:11:30 98

原创 考试复习:快速排序

快速排序有三个元素:pivot,left,right。主要思想在每一次循环令right和left分别和pivot进行比较,使每一次循环的结果是pivot右边的数都比pivot大,左边的数都比pivot小。步骤在left小于right的前提下令pivot等于left对应的值。先比较right和pivot,若right对应的值大于pivot,则right向左移动。若小于,则将right对应值赋给left对应的值,left向右移动。再比较left对应的值和pivot的大小,若小于pivot,则向右移动,

2021-03-05 20:27:43 241

原创 Debauchery Tea Party的C++笔记⑥

这里补充C++中函数部分相比于C语言的新内容和操作,同时复习原来学过的一些知识。函数局部静态对象有些时候,需要令局部变量的生命周期贯穿函数调用及之后的时间。可以将局部变量定义成static类型从而获得这样的对象:size_t count_calls(){ static size_t ctr = 0; //调用结束后,自增的值仍然有效 return ++ctr; }参数传递传引用参数在C++语言中,建议使用引用类型的形参代替指针:int r = 42;void

2021-02-05 16:25:32 114

原创 Debauchery Tea Party的C++笔记⑤

C++的语句和C语言都基本相同,这里笔记记录在C语言学习中没有学习的try语句。所以:try语句块和异常处理当程序的某部分检测到一个它无法处理的问题时,需要用到异常处理。此时,检测出问题的部分应该发出某种信号以表明程序遇到了故障,无法继续下去了,而且信号发出方无需知道故障将在何处得到解决。一旦发出异常信号,检测出问题的部分也就完成了任务。如果程序中含有可能引发异常的代码,那么通常也会有专门的代码处理问题。例如,如果程序的问题是输入无效,则异常处理部分可能会要求用户重新输入正确的数据;如果丢失了数据库

2021-02-04 17:06:33 79

原创 Debauchery Tea Party的品茶时间->如何用一个数表示一个班级通过考试的情况

复习位运算符时想到的比较有趣的一道题:班上有30位同学,如何使用一个数,来表示一个班每个同学考试通过的情况,要能知道每位同学对应的通过情况(通过或者未通过)。解答:通过或者未通过两种情况很容易想到二进制0和1,这时可以令1为通过,0为未通过,但是直接以一个二进制数来表示未免有点太简单。显然全班的检测结果可以用一个无符号整数来表示:unsigned long quiz1 = 0;//全班成绩初始化为0。用UL,这样quiz1在任何机器上都拥有至少32位例如,我们需要对27号学生进行对应的设置,

2021-02-03 18:33:06 105

原创 Debauchery Tea Party的C++笔记④

迭代器所有标准库容器都可以使用迭代器,string也支持迭代器。类似于指针类型,迭代器也提供了对对象的间接访问,其对象是容器中的元素和string中的字符。使用迭代器可以访问某个元素,也能从一个元素移动到另一个元素。迭代器有有效和无效之分,有效的迭代器指向某个元素或者指向容器末尾元素的下一位置。其他情况都属于无效。使用迭代器有迭代器的类型同时拥有返回迭代器的成员。一个成员...

2021-02-03 16:44:03 229 4

原创 Debauchery Tea Party的C++笔记③

标准库类型vector标准库类型vector表示对象的集合,其中所有对象类型都相同。vector因为“容纳”着对象,故也被称作容器。要使用vector,必须包含头文件以及using声明:#include<vector>using std::vector;vector是一个类模板,模板本身不是类或者函数,编译器根据模板创建类或者函数的过程称为实例化。当使用模板时,我们需要指出编译器应把类或函数实例化成何种类型。提供信息的方式总是这样:在模板名字后面跟一对尖括号,在括号内放上信息。以v

2021-01-31 18:34:43 155

原创 Debauchery Tea Party的C++笔记②

这里是关于c++标准库string的初学笔记一种访问库中名字的简单方法——using声明在之前,当从std库中调用库函数时,必须使用作用域操作符(::),其作用是:编译器应从操作符左侧的名字所示的作用域中寻找右侧这个名字。如,std::cin的意思是使用std空间中的名字cin。这显然显得比较繁琐。有了using声明,便无需专门的前缀(如命名空间::)也可以使用所需的名字了,using声明具有一下形式:using namesapace::name;一旦声明了上述语句,就可以直接访问命名空间的

2021-01-29 20:23:09 174

空空如也

空空如也

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

TA关注的人

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