c++基础-虚函数
来源:互联网 发布:书法软件哪个最好 编辑:程序博客网 时间:2024/06/15 15:53
#include<stdio.h>class A{public:virtual void Test(){printf("A test\n");}};class B: public A{public:void func(){Test();}virtual void Test(){printf("B test\n");}};class C: public B{public:virtual void Test(){printf("C test\n");}};int main(){C c;((B *)(&c))->func(); ((B)c).func();}
以上代码片输出:
((B *)(&c))->func(); // C test
用基类指针指向派生类对象, 此时func是B中的,由于Test() 为虚函数,所以根据实际对象找到虚函数表,得到C中的虚函数输出 C test
((B)c).func(); // B test
未发生多态行为,就是一个强制类型转换
0 0
- C 基础 (函数)
- C基础:函数
- C语言基础 函数
- C语言基础 函数
- C函数指针基础
- 【基础C&C++】内存函数
- C语言基础函数(一)
- C语言基础 函数指针
- C++---基础篇(函数)
- C语言函数指针基础
- C语言函数指针基础
- C语言函数指针基础
- C语言函数指针基础
- C语言函数指针基础
- C语言函数指针基础
- C语言函数指针基础
- C语言函数指针基础
- C语言函数指针基础
- JAVA反射系列之Field,java.lang.reflect.Field使用获取方法。
- CUDA从入门到精通(三):必备资料
- CUDA从入门到精通(四):加深对设备的认识
- 洛谷 P1265 公路修建
- chroot命令
- c++基础-虚函数
- 漫谈程序员系列:咦,你也在混日子啊
- [学习笔记]java并发编程目录
- 漫谈程序员系列:怎么告别“混日子”
- Java基础 - 3.运算符
- 外键约束的参照操作
- LeetCode 371.Sum of Two Integers 解题报告
- 51串行口通信
- 双目立体视差图计算