当前位置:  编程技术>c/c++/嵌入式

C++中重载、重写(覆盖)和隐藏的区别实例分析

    来源: 互联网  发布时间:2014-10-28

    本文导语:  本文实例讲述了C++中重载、重写(覆盖)和隐藏的区别,对于C++面向对象程序设计来说是非常重要的概念。具体分析如下: 1.重载:重载从overload翻译过来,是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个...

本文实例讲述了C++中重载、重写(覆盖)和隐藏的区别,对于C++面向对象程序设计来说是非常重要的概念。具体分析如下:

1.重载:重载从overload翻译过来,是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数,重载不关心函数返回类型。

示例代码如下:

class A{
public:
  void test(int i);
  void test(double i);
  void test(int i, double j);
  void test(double i, int j);
  int test(int i);         //错误,非重载
};

前四个互为重载函数,最后一个和第一个不是重载函数。

2.隐藏:隐藏是指派生类的函数屏蔽了与其同名的基类函数。注意只要同名函数,不管参数列表是否相同,基类函数都会被隐藏。

实例代码如下:

#include
using namespace std;
class A{
public:
  void fun1(int i, int j){
    cout 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • c# 重载WndProc,实现重写“最小化”的实现方法
  • C#中多态、重载、重写区别分析
  • java中重载,继承,重写和多态的区别
  • Java中继承、多态、重载和重写介绍
  • 请问重载和覆盖的区别是什么?
  • 那请问过载和重载的区别是什么?
  • 请问有关过载和重载的问题?
  • 网络技术 iis7站长之家
  • 一个scjp的题------关于重载
  • 问一个很蠢的问题:什么是重载,继承,实例,派生,接口
  • LINUX的共享库(.so库)中可以重载函数吗?
  • 在什么情况下重载paint()或paintComponent(),我不知道怎么办?
  • 请问方法中参数个数相同但参数类型不同,该算是overload(重载)吗?
  • 这句话对不对 用final修饰的方法是不能被该类的子类所重载的方法 ?
  • 方法重载有什么好处?
  • Java 能否实现类似于重载运算符的功能?
  • 关于“创建重载现存方法的方法”
  • ASP.NET方法如何重载需要必备哪些条件
  • 有关重载与过载之间关系的问题
  • 重载、超载是怎么回事?
  • 方法重载后为什么还是调用了父类的方法?
  • 基于C#方法重载的总结详解
  • 咨询以下:Thinking in java里,覆写(overriding)和重载(overloading)到底有什么区别?!
  • 要求linux开机的时候 就可以把界面重载到window控制台程序上




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3