博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ Virtual
阅读量:5250 次
发布时间:2019-06-14

本文共 808 字,大约阅读时间需要 2 分钟。

摘自:

namespace QCAR{/// Area is the base class for 2D shapes used in Vuforiaclass QCAR_API Area{public:    enum TYPE {        RECTANGLE,        RECTANGLE_INT,        INVALID    };    virtual TYPE getType() const = 0;        virtual ~Area();private:    Area& operator=(const Area& other);};} // namespace QCAR

 

一、看完博主写的Virtual这个关键词,做一下笔记:

1.在基类中加入Virtual关键字的函数是虚拟函数!(例如getType,声明时默认返回值const为0);

2.OO机制中性的体现;

 

二、关于博主针对重载和覆盖的知识点,我再做一下笔记:

1.重载的几个函数必须是属于同一个类;

 覆盖的几个函数必须是有继承关系的不同类中。

2.重载的几个函数必须函数名相同,参数不同、返回值随意;

   覆盖的几个函数必须函数名相同、参数相同、返回值相同。

3.重载和Virtual没有任何关系,加和不加都不影响重载的作用;

   覆盖的函数前必须加入Virtual关键字。

 

三、博主针对C++的隐藏规则的笔记

1.如果派生类的函数与基类的函数同名,但是参数不同,此时,无论有无Virtual关键字,基类的函数将被隐藏。

2.如果派生类的函数和基类的函数同名,并且参数相同,此时,如果没有Virtual关键字,基类的函数被隐藏。

 

最后,求看官指导!!!!!!

只有在通过基类指针引用间接指向派生类子类型时多态性才会起作用

转载于:https://www.cnblogs.com/R0SS/p/5082648.html

你可能感兴趣的文章
自动生成makefile的脚本
查看>>
k8s 网络模型
查看>>
机器学习算法比较
查看>>
Word Embedding与Word2Vec
查看>>
2013流行Python项目汇总
查看>>
C++数组和指针
查看>>
HDU 5107 线段树扫描线
查看>>
八大排序算法总结
查看>>
MySQL 通配符学习小结
查看>>
STM8S TIM4库函数应用
查看>>
最短路径floy算法———模板
查看>>
用户界面 View(十三) (转载)
查看>>
使用userscript扩展浏览器插件
查看>>
GL_NEAREST 和 GL_LINEAR
查看>>
网络编程 socket
查看>>
基础------(HTML)-----(转)
查看>>
【转】C语言浮点数运算
查看>>
【bzoj3160】 万径人踪灭
查看>>
tomcat配置https访问
查看>>
emlog在nginx中添加rewrite规则
查看>>