C++虚函数的工程应用2
来源:互联网 发布:数据清洗的方法不包括 编辑:程序博客网 时间:2024/06/15 06:11
#include <iostream>using namespace std;class CObject{public:void MyIsKindOf(){Show();}virtual void Show(){cout << "class CObject" << endl;}};class Ckilyc : public CObject{public:virtual void Show(){cout << "class Ckilyc" <<endl;}};class CPanPan : public CObject{public:virtual void Show(){cout << "class Cpanpan" << endl;}};class CSmallKilyc : public Ckilyc{public:virtual void Show(){cout << "class SmallKilyc" << endl;}};// 1. MyIsKindOf 方法被所有的类继承了下去// 2. MyIsKindOf 里面调用了虚函数// 3. 正是因为在 MyIsKindOf 调用了虚函数 Show 所以会呈现成来多肽 int main(){CObject object;Ckilyc kilyc;CPanPan panpan;CSmallKilyc smallkilyc;object.MyIsKindOf();kilyc.MyIsKindOf();panpan.MyIsKindOf();smallkilyc.MyIsKindOf();return 0;}/*object.MyIsKindOf();编译器会编译为 MyIsKindOf(CObject * this) // 这里有一个参数 来参与赋值兼容性 赋值之后 就可以让虚函数上马了。MyIsKindOf(CObject * this){this->Show();}当调用 kilyc.MyIsKindOf(); 时,编译器会这样处理MyIsKindOf(&kilyc){(&kilyc)->Show();}而Show是一个虚函数,虚函数表里面弄存放的是Ckilyc::Show()函数指针 */
这种C++语法的使用在MFC中非常重要,一个就是可以实现给用户留一个接口,一个就是管理代码的时候比较方便。
0 0
- C++虚函数的工程应用2
- 【C++】纯虚函数的简单应用。
- C时间函数的应用
- [C++] 函数指针的应用
- 浅谈C的函数应用
- C语言函数的应用
- c++------------之---【虚函数和抽象基类的应用】
- 在纯C工程的main函数之前跑代码
- Excel函数应用之工程函数
- 逆向工程的应用
- C语言中随机函数的应用
- 深入剖析C 重载函数的应用
- 栈的应用-函数调用(C版)
- c语言中函数指针的应用
- c语言的strcmp函数应用实例
- 【c++】函数模板的简单应用
- c/c++ 宏函数的应用
- C++:复制构造函数的应用
- nagios系列(四)之nagios主动方式监控tcp常用的80/3306等端口监控web/syncd/mysql及url服务
- Unity5学习心得-Input<未完待续>
- Python 的 GUI 开发
- java学习笔记2——异常
- sql经典面试题、练习题
- C++虚函数的工程应用2
- Android技术——注入技术
- hdu 5744 思维题
- git使用
- POJ 2886 Who Gets the Most Candies?
- 缓存技术PK:选择Memcached还是Redis?
- A+B Problem II
- Timer简易使用
- 浅谈HTTP中Get与Post的区别