第六周学习
来源:互联网 发布:java的语句类型 编辑:程序博客网 时间:2024/06/06 12:35
6.1虚函数和多态
虚函数
- 在类的定义中,前面有virtual关键字的成员函数就是虚函数
class base{ virtural int get(){}};
- virtural 关键字只用再类定义里的函数申明中,写函数体时不用
- 构造函数和静态成员函数不能是虚函数,析构函数可以是虚函数
多态
- 派生类的指针可以赋值给基类指针
- 通过基类指针调用基类和派生类中的同名虚函数的时候:
若指针指向的是一个基类的对象,则调用的是基类的虚函数
若指针指向的是一个派生类的对象,则调用的是派生类的虚函数
这种行为叫做 【多态】 - 派生类的对象可以赋值给基类引用
- 通过基类引用调用基类和派生类的同名虚函数的时候:
若该引用引用的是一个基类的对象,那么被调用的是基类的虚函数
若该引用引用的是一个派生类的对象,那么调用的是派生类的虚函数
这种行为也叫【多态】
class base{public: virtual void some(){} };class derived:public base{ virtual void some(){}}int main(){ derived a; base b; base* p1=&a; base* p2=&b; base& r1=a; base& r2=b; p1->some();//调用derived类下的some()函数 p2->some();//调用base类下的some()函数 r1.some();//调用derived类下的some()函数 r2.some();//调用base类下的some()函数 return 0;}
e.g:
A a;B b;E e;D d;A* pa=&a; B* pb=&b;D* pd=&d; E* pe=&e;pa->print();//调用类A的print()pa=pb;pa->print();//调用类B的print()pa=pd;pa->print();//调用类D的print()pa=pe;pa->print();//调用类E的print()
6.2多态在游戏程序中应用的实例
阅读全文
0 0
- 第六周学习笔记
- 第六周学习
- 第六周的学习
- 第六周Android学习笔记
- C++第六周学习笔记
- 启明星第六周学习总结
- coursera 机器学习第六周
- 课程学习周记 第六周
- VB学习第六周--显示成绩等级
- 第六周编程任务学习过程
- Android学习第六周_SQLite和ContentProvider
- Android学习的第六周笔记
- [Boolan] C++第六周学习笔记
- 机器学习第六周(一)
- 机器学习第六周(二)
- 机器学习第六周(三)
- 机器学习第六周(四)
- 2017大二第六周学习笔记
- linux下杀死进程(kill)的N种方法
- LeetCode 70. Climbing Stairs
- Django-模版
- UTF-8转UTF-16,UTF-8转UNICODE详解 附UTF8转UNICODE C源码
- Zookeeper源码解析——本地开发环境搭建
- 第六周学习
- bzoj 4868: [Shoi2017]期末考试 三分答案
- Hadoop 和 spark 读取多个文件通配符规则(正则表达式)joe
- HBASE 原理
- Alpha Beta RC GA RTM OEM RVL EVAL RTL 软件版本
- SPICE电路仿真(1)--ngspice
- java数据库
- 重映射与SURF特征点检测与匹配
- Java面试宝典-2