C++多态简介
来源:互联网 发布:java socket退出连接 编辑:程序博客网 时间:2024/06/06 01:00
一、多态基本认识
多态基本上可以分为两类:
关于静态多态其实我们并不陌生,比如类模板、重载这些都是静态多态,它们在程序编译时便已经确定,它们在运行便已经被确 定该如何运行调用。
2.运行时多态:即动态多态
其实我们经常说的多态一般是指动态多态,动态多态在编译时不确定如何调用执行,一直延迟到运行时才确定该如何调用执行,因此动态多态方法也会被称为延迟方法。
二、动态多态
1.在C++中动态多态是通过虚函数实现的,而虚函数允许子类对成员函数进行重定义,这种重定义父类成员函数的方式被称为重写。这里提到重写,就不得不提重载,重载是在一个类域里,函数名与被重载函数名相同,但参数类型或参数个数不同,因此在预处理阶编译器会生成两个或多个不同函数名的函数,因此与重写显著不同。
2.动态多态的作用:在C++中,封装是为了使代码模块,继承是为了扩充已实现的代码,总之它们都是为了代码复用。而多态是为了实现接口重用,也就是说,无论传过来的是哪个对象,函数都能调用适合自己对象的相应的方法。
3.函数隐藏:
在派生类中,有一函数名与基类函数名相同,但函数的参数不同,此时,不管函数前是否有virtual关键字进行修饰,基类中的同名函数将被隐藏。
阅读全文
0 0
- 【C#】简介
- C 简介
- C 简介
- 【C#】简介
- Objective-C 【对象-多文件开发简介】
- 【C语言】C语言简介
- 函数简介(C)
- C/C++库简介。。。
- C语言指针简介
- c语言指针简介
- C Cover工具简介
- C++/CLI简介
- C指针简介
- C/C++库简介
- Pelles C编译器简介
- Object-C 简介
- LINQ 查询简介(C#)
- usb-skeleton.c简介
- BIRT集成WEB项目。
- 用JS获取地址栏的参数的方法
- PHP方法参数类型声明
- 递归遍历文件夹下所有文件
- 机器学习第3章第1节 : Anaconda3的安装和汉化
- C++多态简介
- 剑指offer——61.序列化二叉树
- C++拷贝构造函数(深拷贝,浅拷贝)详解
- Sql 编程
- CentOS 7 yum 安装MySQL
- 决策树算法
- LintCode-分治-寻找旋转排序数组中的最小值 II
- 图论——SPFA模板
- Mongodb学习笔记 --- python读取mongodb数据