C++ 中覆写(override) 例解
来源:互联网 发布:营运数据分析怎样写 编辑:程序博客网 时间:2024/06/05 05:28
请看下面例题给出答案:
#include <iostream>using namespace std;class A{public:A(int data= 0){m_data = data;}int GetData() {return doGetData();}virtual int doGetData(){return m_data;}protected:int m_data;};class B:public A{public:B(int data=1){m_data = data;}int doGetData(){return m_data;}protected:int m_data;};class C:public B{public:C(int data = 2){m_data = data;}protected:int m_data;};int main(){C c(10);cout<<c.GetData()<<endl;cout<<c.A::GetData()<<endl;cout<<c.B::GetData()<<endl;cout<<c.C::GetData()<<endl;cout<<c.A::doGetData()<<endl;cout<<c.B::doGetData()<<endl;cout<<c.C::doGetData()<<endl;return 0;}
记住两点,即可知答案:
1.构造函数从最初的基类开始构造,各个类的同名变量没有形成覆盖,都是单独的变量。
2.再注意一个就近调用原则,如果父辈存在相关接口,则优先调用,父辈接口,如果父辈不存在相关的接口则调用祖父辈接口
- C++ 中覆写(override) 例解
- C#virtual override new
- C++:override和final
- virtual和override(C#)
- C#virtual,override,new学习
- C#中的virtual、override、static
- c#virtual,abstract,new,override
- C++:overload, override和overwrite
- C++, JAVA没有 override关键字 C# 有override关键字
- override
- Override
- override
- OverRide
- override
- @override
- @Override
- @Override
- @Override
- spring IoC源码分析 (3)Resource解析
- string char* const char*之间互相转换
- Javascript事件处理机制
- movsx 和movzx
- VC下自建头文件和.c文件
- C++ 中覆写(override) 例解
- 八位二进制数为什么表示范围是:-128~~+127?
- ARM汇编 Init.s,ldr r13,0x1000
- mysql总结之explain
- UIImageView异步加载网络图片
- 第二次C语言作业
- 深入理解Java内存模型
- Asp.Net MVC3 简单入门第一季(一)环境准备
- MapReduce:详解Shuffle过程