- 博客(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关注的人