多态 基类于子类相互转换
来源:互联网 发布:皮影客动画软件 编辑:程序博客网 时间:2024/06/05 02:46
由于多态原所以无论向上指针类型转换或者向下指针类型转换,则调用成员函数(两个类都实现了)无论调用的是哪个类的函数,遵循下面2个规则:
(1)调用虚函数时,因为是晚绑定(动态绑定),所以根据指针指向的对象的实际类型来决定。
(2)调用非虚函数,因为是早绑定(静态绑定),所以根据指针声明的对象类型来决定。
#include <iostream>#include <windows.h>using namespace std;class C{public: void display1(){cout<<"c1"<<endl;} virtual void display2(){cout<<"c2"<<endl;}};class D : public C{public: void display1(){cout<<"d1"<<endl;} void display2(){cout<<"d2"<<endl;}};class E : public D{public: void display1(){cout<<"e1"<<endl;} void display2(){cout<<"e2"<<endl;}};int main(int argc, char* argv[]){ D *pd = (D*)new C(); pd->display1(); pd->display2(); system("pause"); return 0;}
0 0
- 多态 基类于子类相互转换
- 子类和父类的相互转换
- 父类子类指针相互转换问题
- 父类子类指针相互转换问题
- java 父类 子类 相互转换
- C#中子类与父类的相互转换
- C++子类 父类的相互转换 和 虚函数
- C++中子类和父类之间的相互转换
- C#中子类与父类的相互转换
- C#中子类与父类的相互转换
- JAVA中子类与父类相互转换
- 父类和子类的相互转换及父类调用子类的方法
- 混迹于C++之基类和子类(一)
- 基类指针和子类指针相互赋值
- 基类指针和子类指针相互赋值
- 基类指针和子类指针相互赋值
- C#中 父类与子类相互强制转换之实验
- C#中 父类与子类相互强制转换之实验(转帖)
- ffmpeg常用基本命令
- MyBatis框架初识
- Java random原理
- 【零基础入门学习Python笔记006】Python之常用操作符
- oracle 批量 update selete
- 多态 基类于子类相互转换
- WebPack系列教程(十一):文档列表
- XNA4.0 RPG游戏开发教程(六)
- Webstrom修改单个文件编码格式
- linux eclipse打开当前文件所在文件夹
- python 上下文管理器with...as...
- tableview滚动实时调用的方法
- 初探JVM之对象的创建
- iOS开发中常用第三方库的整理