C++第08课 虚函数和多态 (二)
时间:2021-09-06
本文章向大家介绍C++第08课 虚函数和多态 (二),主要包括C++第08课 虚函数和多态 (二)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1.虚析构函数
class MM { public: virtual void print() { cout << "MM" << endl; } virtual ~MM() { cout << "~MM" << endl; } }; class Girl:public MM { public: void print() { cout << "Girl" << endl; } ~Girl() { cout << "~Girl" << endl; } }; int main() { //下面的无名Girl对象没有被释放 MM* pmm = new Girl; pmm->print(); //Girl //加了virtual打印 ~Girl delete pmm; //~MM return 0; }
2.dynamic_cast
作用:上行转换、下行转换、交叉转换
class A { public: virtual void print() { cout << "A" << endl; } }; class B { public: virtual void print() { cout << "B" << endl; } }; class C :public A, public B { public: void print() { cout << "C" << endl; } }; void test() { //子类对象初始化父类指针 A* pa = new C; B* pB = dynamic_cast<B*>(pa); pB->print(); //C } int main() { test(); return 0; }
原文地址:https://www.cnblogs.com/creature-lurk/p/15235683.html
- jvm运行时环境属性一览
- bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序
- C#集合类型大盘点
- 将spring源码导入到eclipse中
- 将struts源码导入eclipse
- 初探领域驱动设计(1)为复杂业务而生
- 最大公约数的算法
- 是时候开始用C#快速开发移动应用了
- Open ID Connect(OIDC)在 ASP.NET Core中的应用
- Jetty入门
- java序列化反序列化深入探究
- 前后端分离开发模式下后端质量的保证 —— 单元测试
- java如何获取一个对象的大小
- JDK1.7新特性(3):java语言动态性之脚本语言API
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Centos7下nginx的安装与配置教程详解
- Linux上进行常用软件的配置方法
- Ubuntu系统下网络配置文件解析与说明
- 详解Centos7扩展磁盘空间(LVM管理)
- 设置ssh无密码登录linux服务器的方法
- linux特殊字符及其作用大全
- CentOS7搭建gerrit 代码审查服务方法
- CNS图表复现08—肿瘤单细胞数据第一次分群通用规则
- Gunicorn运行与配置方法
- 如何使用Linux文本操作命令ed进行提权nov5详解
- linux系统用户管理与grep正则表达式示例教程
- 在Linux中如何查找最大的10个文件方法汇总
- CNS图表复现09—上皮细胞可以区分为恶性与否
- CentOS 6/7环境下通过yum安装php7的方法
- Centos7.3服务器搭建LNMP环境的方法