《VC++深入详解》第二章练习
来源:互联网 发布:mirrorlink 软件 编辑:程序博客网 时间:2024/06/06 17:04
第二章是讲C++语言基础,主要是封装、继承、多态这三个核心特性。几个知识点列举如下:
1、构造函数
2、析构函数,无返回值 无形参。作为父类的析构函数一般要写为虚函数,这样可以防止内存泄露,具体请参考该博文:http://www.cnblogs.com/lixiaohui-ambition/archive/2012/07/13/2589716.html
3、虚函数(多态)的实现原理
每一个包含虚函数的类,编译器都会为其定义一个虚函数表,注意是每一个类拥有一个虚函数表,而非每个对象。表中每个元素均为指向对应虚函数的指针。另外编译器还会为类增加一个成员变量vptr,用于指向其虚函数表。每一个由此类派生出来的对象都有该vptr,通过该指针便可以找到其虚函数表,访问正确的虚函数。
子类会从父类继承虚函数表,若子类改写了父类的某些虚函数,那么其虚函数表中对应的元素(函数指针)也会一起变化,这就是多态实现的精髓。
我们会发现,每个派生类的虚函数表都会保护父类的所有虚函数,这样继承下去,一层层的扩展,导致虚函数表的规模扩展很快,这也是MFC消息机制不采用虚函数的原因之一。
4、静态成员、静态成员函数
静态成员为所有对象共享,需要全局初始化
静态成员函数不能直接使用this,我们一般使用形参的方式将对象指针传递进去。
5、函数重载
只有返回值不同是不能构成函数的重载的。
6、在子类中调用父类带参数的构造函数
class fish :public animal
{
public:
fish():animal(400, 300)
{
....
}
}
7、多重继承,这个特性在JAVA中是不支持的,JAVA使用类和方法来实现同样的效果。C++中多重继承还是很常见的。
class A:public c, public d
8、权限关键字,public private protected
- 《VC++深入详解》第二章练习
- VC++深入详解第二章
- vc++深入详解第二章学习笔记
- VC++深入详解第二章学习笔记
- VC++深入详解-第二章学习心得
- 《VC++深入详解》第一章练习
- VC++深入详解 笔记 第二章(1)
- VC++深入详解 笔记 第二章(2)
- 《VC++深入详解》学习笔记 第二章 掌握C++
- 深入.NET 第二章 练习
- 深入C# 第二章 练习
- 深入.NET 第二章 上机练习1
- 深入.NET 第二章 上机练习2
- 阅读笔记——第二章——《VC++深入详解》————孙鑫
- VC++深入详解第三章
- vc++深入详解第六章
- 《VC++深入详解》第三章
- VC++深入详解 第6章 菜单
- 在Eclipse中配置tomcat,浏览器输入http://localhost:8080报404错误解决方法
- 快速构建网站之获取域名
- 数据库的查询
- ZOJ 3829 Known Notation 贪心
- 第二次实验 实验报告
- 《VC++深入详解》第二章练习
- [ACM] FZU 2086 餐厅点餐 (枚举)
- Java单例模式常用的3种实现方式
- mkdir: cannot create directory `/usr/local/share/man/man1': File exists
- Mysql数据隔离,脏读,rollback
- Oracle 字符串函数和数字函数,聚集函数
- 由json字串生成json对象时的转义问题
- JAVA Annotation 详解
- 解决了两个问题