零基础逆向工程25_C++_02_类的成员权限_虚函数_模板

1 类的成员权限

1.1 小结:

1.对外提供的函数或者变量,发布成public的 但不能随意改动.
2.可能会变动的函数或者变量,定义成private的 这样编译器会在使用的时候做检测.
3.只有结构体内部的函数才可以访问private的成员.
4.public/private可以修饰函数也可以修饰变量.
5.将定义与实现分离,代码会有更好的可读性.

1.2 一些问题

1.private真的不能访问吗
答:可以,可以用指针来访问。
2.private是否被继承
答:父类中的私有成员是会被继承的,只是编译器不允许直接进行访问。

2 虚函数

2.1 虚函数表

2.2 动态绑定

前期绑定=静态联编
后期绑定=动态绑定=运行期绑定=迟绑定=多态
多态成立的三个必要条件:有继承、有virtual重写、有父类指针(引用)指向子类对象

2.3 多继承有多个虚函数表

3 模板

反汇编分析,模板生成的汇编代码和普通函数并无区别

posted @ 2017-10-06 21:44  flatcc  阅读(174)  评论(0编辑  收藏  举报