【c++Primer】第二章掌握C++总结

【2】掌握C++

1.        C++的优点:封装性、继承性、多态性。

2.        封装:使函数更加紧凑,还提高了内部数据的安全性。

3.        继承:增加了软件的可扩充性和代码的可重用性

4.        多态:可以对问题更好的抽象,有利于代码维护和重用。

5.        结构体和类的右大括号后要加分号。结构体和类主要是在访问控制有差别。

6.        protrcted访问权限:子类和父类间。对外不能访问。

7.        类:抽象于事物的共有的属性。对象:具有具体的属性值的事物。

8.        面向过程和面向对象的区别

[1]      面向过程:分析解决问题的步骤,然后用函数实现,调用函数。

[2]      面向对象:把构成问题的事务分成各个对象,贯穿于整个问题解决中。

[3]      如五子棋,面向过程就是开始游戏、黑子先走、绘制画面,判断输赢。面向对象就是:五子棋可分为三类对象:玩家系统(棋子),棋盘系统(负责绘制画面)、规则系统。

9.        构造函数:创建对象本身。为了保证唯一性,采用一个类名,没有返回值,可对变量进行初始化。每个类必须有一个构造函数。类没有构造函数,编译器可提供无参数默认构造函数,倘若自己定以后又想用无参数构造函数,则需自己定义。

10.    析构函数:当一个对象生命周期结束时,回收所占有的内存空间。是构造函数的取反;~Point,也不允许有返回值和参数。调用delete时,析构函数也被调用。

11.    堆内存:优先队列的一种数据结构。第一个元素有最高的优先权。

12.    栈内存:满足现金后出的性质的数据结构。

13.    内存泄露:分配了内存空间没有收回。

14.    内存分配:存储区域有寄存器、堆栈和堆。

[1]      寄存器:最快,保存在处理器内部,需要编译器分配,数量少。

[2]      堆栈:驻留在随机访问存储器区域。通过堆栈指针获得处理支持。

[3]      堆:常规用途的内存池,heap有很大灵活性,编译器不必知道要从堆里分配多少存储空间。只用new命令编制即可,但是花费的时间比较长。

15.    重载:函数名相同,参数类型不同,参数个数不同。发生在一个类内

16.    覆盖:函数名,参数都相同,发生在两个类之间。父类和基类

17.    this指针:隐含指针,指向对象本身,代表对象地址。成员函数可通过this指针识别同一对象的数据成员。

18.    继承:派生类(子类)继承基类(父类)

19.    纯虚函数:函数=0.含有纯虚函数的类叫抽象类。不能直接实例化一个对象。

virtual void breath()=0;

20.    多态性:当发现函数是虚函数,运行时,一句对象类型来确认调用哪个函数,这种能力就叫多态性。基类函数前有virtual时,子类有调用子类,无调用父类。

21.    引用:int&b=a,相当于一个变量的别名。只有在定义时是引用,别的地方都是取地址符号。常用于函数传递参数。避免发生值得拷贝。

22.    #include,双引号是从当前目录查找,尖括号是直接从系统目录查找



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值