C++笔记
C++/C
XiaoSong_Aha
Show me the code!
展开
-
【作用域】外部变量、外部函数与作用域
在学习C++过程中,经常看到这么一个说法:“命名空间作用域下的....”,其实C++的作用域(以前一直都是认为只是参数的有效范围)一直都在用,但系统的划分可能却没划分过,因此,将C++的作用域划分记录在此。原创 2020-07-23 18:44:20 · 3267 阅读 · 1 评论 -
【类与对象】数据的共享与保护在类与对象中的体现
1.同一类内数据的共享在面向过程的语言中,我们知道,两个函数之间如果想要“互通有无”发送点数据,其无外乎两种方式,要么是通过一个函数调用另一个函数,调用时传递参数即可;或者是直接大家共享一个全局变量,那么便都可以对此变量进行访问和修改了。但是如果放在类中呢?我们知道,类的私有数据成员private只允许其自身的成员函数来访问和修改。因此,如果我实例化类的一个对象,其对象本身是不能直接使用"."访问符访问其对象内的私有数据成员的,更不用说同一类的其他实例化的对象了。比如,我们有一个Student类,其原创 2020-07-22 23:23:38 · 3037 阅读 · 0 评论 -
【类与对象】组合类的构造函数和复制构造函数
初始化列表初始化列表是用于构造函数参数的初始化,与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。如:class myClock{ public: myClock(int hh,int mm,int ss); //构造函数的声明 private: int hour,minu,second;};//构造函数的实现和初始化设定myClock::myCl原创 2020-07-22 10:38:24 · 4327 阅读 · 0 评论 -
【函数递归调用】递归调用经典问题—汉诺塔问题
1.函数的递归调用函数可以直接或者间接的调用其自身,这称为函数的递归调用。递归算法的实质是将原有的问题逐层拆解为新的问题,而解决新的问题又用到了原问题的解法,因此可以继续调用自身分解,按照此原则一直分解下去,每次出现的新问题都是原有问题的子集(或者说是简化版的原问题),而最终的最终分解出来的最后一个问题,一定是已知解的问题,否则没有意义。因此递归过程都可以用以下两个阶段概括。Step1:递推。所谓递推就是将原有的问题不断拆解为新的子问题,其子问题就是原有问题的弱化(或者说更少层)的问题,这样,逐原创 2020-07-20 10:58:57 · 3637 阅读 · 1 评论 -
【C++习题】 《C++语言程序设计第四版》第1~6章 编程习题记录
1.编写一段程序,运行时向用户提问“你考了多少分?(0~100)”,接受输入后判断其等级并显示出来。判断依据如下:等级={优秀 (90~100分);良好 (80~89分);一般 (60~69分);不及格 (0~59分);}要求:必须用switch语句实现。难点:1.switch语句里的case只能跟常量,而判断分数明显是逻辑判断,因此需要将逻辑值转化为常量2.switch里多个case对应相同表达式的时写法代码:int Code1(){ int scores =原创 2020-07-17 17:27:28 · 3492 阅读 · 0 评论 -
【计算机系统】 信息在计算机中的表示和内存地址与空间的简单理解
1. 信息在计算机系统中的表示我们知道,信息在计算机系统中是以二进制的方式进行传送,存储的。那么信息在计算机系统中是如何表示的呢?在这里可分为数值信息和非数值信息两个方面进行讨论。数据信息分类示意图1.1 数值信息在计算机系统中的表示数值信息是有正负之分的,因此,在计算机中存储数值信息必须要有表示符号的方法。由于计算机内是采用二进制编码表示,因此,在一般情况下,我们用“0”表示正号,“1”表示符号,符号位数放在数的最高位。例如,比如我们有十进制数A= +91,B= -91,8位二.原创 2020-07-17 16:17:40 · 6569 阅读 · 2 评论