`
wenzongliang
  • 浏览: 450344 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

覆盖与隐藏

 
阅读更多

覆盖是占用了原来的位置,隐藏只是存在找不到

例如:

class A{

void fun1(){

int v;

}

 

static void fun2(){

int v;

}

}

 

class B extends A{

void fun1(){

int u;

}

 

static void fun2(){

int u;

}

}

 

 

A a=new B();

 

a.fun1()//调用的是B中的fun1因为父类的被覆盖了不存在了,只有通过特殊手法找到。

a.fun2()//调用的是A中的fun2因为fun2只是被B暂时隐藏,还存在。

 

 

 

关于C++类成员函数的重载、覆盖、隐藏与virtual关键字

 

最近看<<高质量C++>>时读到的关于成员函数的重载/覆盖/隐藏,把我的一点理解写出来,希望大家批评与指正.

1. 重载、覆盖与隐藏

1).重载:成员函数具有以下的特征时发生“重载”

A.相同的范围(同一个类中)

B.函数的名字相同

C.参数类型不同(不能进行隐式类型转换)

D.Virtual关键字可有可无

2).覆盖(也叫“继承”):指派生类函数覆盖基类函数,特征是:

A.不同的范围(分别位于基类与派生类中)

B.函数名字相同

C.参数相同

D.基类函数必须有virtual关键字

3).隐藏:是指派生类的函数屏蔽了与其同名的基类函数,规则如下:

A.如果派生类的函数与基类的函数同名,但是参数不同,此时不论有无virtual关键字,基类的函数都将被隐藏,注意别与重载混淆)

B.如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual关键字,此时基类的函数被隐藏(注意别与覆盖混淆)

我的话费充值店-各种面额

电信100元仅售98.60 
联通100仅售99.00
移动100仅售99.30

分享到:
评论

相关推荐

    C++成员函数的重载、覆盖与隐藏

    文件详细描述了C++成员函数的重载、覆盖与隐藏技术,对于初学C++的人员很有帮准,也是我们程序猿参考、学习的重要资料。

    SigalHu#MyBlog#类中成员函数的重载、覆盖与隐藏[转]1

    原文:C++类成员函数的 重载、覆盖和隐藏区别重载成员函数被重载的特征:相同的范围(在同一个类中)函数名字相同参数不同virtual 关键字可有可无void s

    Java方法的覆盖与隐藏的区别分析

    本篇文章介绍了,关于Java方法的覆盖与隐藏的区别分析。需要的朋友参考下

    C++ 中函数重载、覆盖与隐藏详解

    C++ 中函数重载、覆盖与隐藏详解 在C++语言中,函数扮演着很重要的角色,不管面向过程设计,还是基于对象设计;不管是面向对象编程,还是基于泛型编程,函数都可以随处而见。在谈论C++中的函数重载、覆盖和隐藏之前...

    类成员函数的重载、覆盖与隐藏之间的区别总结

    以下是对类成员函数的重载、覆盖与隐藏之间的区别进行了详细的总结分析,需要的朋友可以过来参考下。希望对大家有所帮助

    成员函数的重载、覆盖与隐藏详细解析

    1 重载与覆盖成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生...

    类成员函数的重载、覆盖和隐藏

    类成员函数的重载、覆盖和隐藏区别以及抽象类等

    C++中的多态、重载、覆盖与隐藏

    上网看C++的一些资料,突然看到虚函数,突然让我回想起继承,覆盖什么的,决定总结一些资料,加上自己的体会写一篇。  1、C++中的虚函数(virtual function)  虚函数是C++中用于实现多态(polymorphism)的...

    C++中的函数重载、覆盖与隐藏

    在谈论C++中的函数重载、覆盖和隐藏之前,先回顾下函数的基础知识。  函数的声明包括函数的返回值类型,函数名称,参数列表(参数的类型、参数的个数、参数的顺序)。例如,声明一个两个整数之和的函数,int iAdd...

    重载、覆盖和隐藏

    重载、覆盖和隐藏

    C++的重载、隐藏、覆盖规则

    C++的重载、隐藏、覆盖规则 C++的重载、隐藏、覆盖规则 C++的重载、隐藏、覆盖规则

    Java中的方法和变量在继承时的覆盖问题

    变量和方法覆盖和隐藏的不同:一个类的实例无法通过使用全局名或者强制自己转换为父类型,以访问父类中被隐藏的方法,然而强制转换子类为父类型之后,可以访问父类中被隐藏的变量。另外静态方法不能覆盖父类的实例...

    方法和变量在继承时的覆盖和隐藏问题

    最近有个同学问了我一个小问题,觉得很有意思,之前一直没有想到过。他说“java中存在方法覆盖,是否存在变量的覆盖呢?”。

    重载、覆盖、多态与函数隐藏

    要弄清楚重载、覆盖、多态与函数隐藏之间的复杂且微妙关系之前,我们首先 要来回顾一下重载覆盖等基本概念。 首先,我们来看一个非常简单的例子,理解一下什么叫函数隐藏hide。

    高质量C++/C编程指南

    8.2 成员函数的重载、覆盖与隐藏 60 8.3 参数的缺省值 63 8.4 运算符重载 64 8.5 函数内联 65 8.6 一些心得体会 68 第9章 类的构造函数、析构函数与赋值函数 69 9.1 构造函数与析构函数的起源 69 9.2 构造函数的初始...

    高质量C++、C编程指南.doc )

    8.2 成员函数的重载、覆盖与隐藏 60 8.3 参数的缺省值 63 8.4 运算符重载 64 8.5 函数内联 65 8.6 一些心得体会 68 第9章 类的构造函数、析构函数与赋值函数 69 9.1 构造函数与析构函数的起源 69 9.2 构造函数的初始...

Global site tag (gtag.js) - Google Analytics