多态——动态绑定
来源:互联网 发布:linux 查看文件内容 编辑:程序博客网 时间:2024/06/07 07:02
写出下面程序的输出结果
class A{public: void FuncA() { printf( "FuncA called\n" ); } virtual void FuncB() { printf( "FuncB called\n" ); }};class B : public A{public: void FuncA() { A::FuncA(); printf( "FuncAB called\n" ); } virtual void FuncB() { printf( "FuncBB called\n" ); }};void main( void ){ B b; A *pa; pa = &b; A *pa2 = new A; pa->FuncA(); pa->FuncB(); pa2->FuncA(); pa2->FuncB(); delete pa2;}
解题思路:
B b;
A *pa;
pa = &b;
A *pa2 = newA;
pa->FuncA(); //pa=&b动态绑定但是FuncA不是虚函数,所以FuncA called
pa->FuncB(); //FuncB是虚函数所以调用B中FuncB,FuncBB called
pa2->FuncA(); //pa2是A类指针,不涉及虚函数,调用的都是A中函数,所以FuncA called FuncB called
pa2->FuncB()
1 0
- 多态——动态绑定
- C++ — 静态绑定与动态绑定
- java基础学习总结——多态(动态绑定)
- java基础学习总结——多态(动态绑定)
- java基础学习——多态(动态绑定)
- Java基础学习总结——多态(动态绑定)
- java基础学习总结——多态(动态绑定)
- java基础学习总结——多态(动态绑定)
- java基础学习总结——多态(动态绑定)
- C++学习 — 静态绑定与动态绑定
- 多态,动态类型,动态绑定
- C++ 多态 动态绑定
- 动态绑定(多态)
- 多态(动态绑定)
- java 多态 动态绑定
- 多态(动态绑定)
- 六一献礼——动态绑定解密
- 动态绑定和主细表——Fetch
- Http协议Content-Length
- C#中的 ref 传进出的到底是什么 解惑篇
- 传统VPN与NAT穿越的兼容性
- 记录开发项目遇到的问题
- Shell 流程控制
- 多态——动态绑定
- 16.4.3
- Spring Boot入门及集成MyBatis开发Web项目
- BP算法改进
- 数据结构——栈的使用
- 工具类:自定义 pickerView
- RecyclerView的item点击事件
- IE11降级为IE8的方法
- 16.5.1