指向继承类的基类指针解引用后,是否还具备多态性
来源:互联网 发布:dhcp服务器软件下载 编辑:程序博客网 时间:2024/05/19 21:17
指向继承类的基类指针解引用后,是否还具备多态性? 如下例:
#include <iostream>using namespace std;class Base{public:int a;virtual void fun() { cout << "Base" << endl; }}; class Extend : public Base{public:int b;virtual void fun() { cout << "Extend" << endl; }}; int main(){Base *pb;Extend ex;pb = &ex;pb -> fun(); //invoke Extend :: fun();(*pb).fun(); //invoke Extend :: fun();Base b = *pb;b.fun(); // invoke Base :: fun();cout << sizeof(Base) << " " << sizeof(*pb) << " " << sizeof(Extend) << endl;return 0;}
运行结果output为:
测试结果显示仍然具备多态性!
另外:
如果将这个指针指向的对象赋给基类对象,基类对象并不会变成多态语意:
Base b=(*pb);
b.fun(); //invoke Base::fun()
- 指向继承类的基类指针解引用后,是否还具备多态性
- 是否只有通过基类指针或引用间接指向派生类子类型时,多态性才会起作用?
- 关于指向派生类的基类指针或引用
- 指向指针的引用
- 指向指针的引用
- 指向指针的引用
- 指向指针的引用
- 指向指针的引用*&
- 指向指针的引用
- Java多态性 父类引用指向子类对象
- java多态性,父类引用指向子类对象
- 指向数组的引用;指向数组的指针;指向类成员的指针;指向类数组成员的指针;二维字符串数组指针
- 类的继承和多态性
- 类的继承和多态性
- 类的继承与多态性
- 指向类的指针
- 关于继承类的指针指向基类的内存的问题
- new和delete 基类指针指向继承类的对象时,delete的过程
- 逆向编程教程(6)
- Windows7无法睡眠(待机)的问题
- Android系统Binder机制之一(Service Manager篇)
- 数据挖掘经典书籍
- 在Struts 2中实现文件上传
- 指向继承类的基类指针解引用后,是否还具备多态性
- 改进平滑滚动,修改音量调节级数实现音量微调【编译自XDA 适用于大部分设备】
- ARM架构kprobe应用及实现分析(1.0 简单示例)
- linux网络工具应用详解之二
- 十种心理征兆表明是时候辞职了
- qt 使用opengl库来画圆环
- android 中的 ViewFlipper 的简单使用
- Android系统的Binder机制之二——服务代理对象(1)
- 逆向编程教程(7)