C++基础知识
来源:互联网 发布:杭州阿里巴巴淘宝城 编辑:程序博客网 时间:2024/04/27 22:17
孙鑫老师的教材是从windows程序内部运行机制讲起,感觉对于初学者有点晕,故我总结时从c++基础说起。
C++与C相比的优越性主要体现在封装性(Encapsulation),继承性(Inheritance)和多态性。此章节孙鑫老师主要通过类->封装性,类的继承->继承性,虚函数->多态性。(类和对象此处我不再多叙了)
首先说封装性,还记得c语言中的结构体吧,结构体不能包括函数,这就注定了它不能描述一个对象的行为。而C++对此进行了改良,在c++里面的结构体是可以包括函数的。如果把c++结构体的 关键字struct换成class,就是一个类的定义了。不同的是struct结构体成员默认为public,而class类默认为private。
一个类声名了,构造一个对象时,系统会为成员变量分配内存空间,而内存空间的值为一个随机值,这显然不是我们所期望的。所以应该定义一个初始化的函数。可以在构造一个对象后,通过对象调用初始化函数。而在c++中可以在构造一个对象的同时就完成了初始函数的功能,那就是通过构造函数的功能,也就是把完成初始化函数的名字换成类名就可以了。当一个对象生命周期结束时,需要释放它占的内存空间,可以用析构函数,形式:“~类名”,主要的是记住一个类只能有一个析构函数,并且不能带有参数。另外注意的是在类中定义成员变量时不能直接给成员变量赋初值。还有就是每定义一个类时都会有一个特殊指针指向这个类,此指针就是this。
再来说说继承性,必须先构造父类在构造子类,而析构时却与之相反。在构造对象时调用父类默认构造函数(不带参数的),如果没有不带参数的构造函数时,在构造子类时要进行显示调用父类的带参数的构造函数。另外需要注意的时类的继承访问图形如下表:
基类访问特性 类的继承特性 子类的访问特性
public public
protect public protect
private 不访问
public protect
protect protect protect
private 不访问
public private
protect private private
private 不访问
最后说说多态性,多态性主要通过虚函数表现出来的。多态性的体现是,编译器根据对象的实际类型来确定要调用的是基类还是子类的函数。此处难点在于理解函数的覆盖、隐藏和重载,记住一点就是函数覆盖发生在派生类和基类之间,并且两个函数完全相同且基类该函数为虚函数,否则为隐藏,而重载则是在同一类之间。
另外一点就是引用了,记住一点:引用一旦初始化它就代表一块特定的内存,再一不能代表其他的内存了,多数用在函数的形参上。
这一节的主要内容就这么多了。
- C 基础知识
- C 基础知识
- C基础知识
- C 基础知识
- c基础知识
- c基础知识
- c基础知识
- [C]基础知识
- c基础知识
- C基础知识
- 汇编基础知识 - [C/C++]
- C语言基础知识
- C/C++一些基础知识
- C语言基础知识1
- c语言基础知识
- C语言基础知识
- c语言基础知识回顾
- C一些基础知识
- 开始写博客
- DateTime的Format格式
- 将MessageSender改造为可扩展的实用工具集
- 转载
- SQL Server 安全检查列表
- C++基础知识
- apache and tomcat
- 关于作者
- 连接池
- 各种MOUSE形状的表示方法
- scanf/sscanf %[]格式控制串的用法
- Winxp版本
- 终极QQ-ZONE技巧
- 搜索引擎原理