码迷,mamicode.com
首页 > 编程语言 > 详细

c++ 重载,覆盖,重定义

时间:2014-11-09 16:26:17      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   os   使用   sp   strong   

函数重载(Function Overloading)

C++允许同一范围(scope)(在同一个类中)内具有多个名称相同的函数。这些函数成为重载函数(overloaded function)。
C++ 使用函数声明的  参数数量参数类型省略号存在或缺失(Presence or absence of ellipsis),const 或 volatile 来区分同一范围内具有相同名称的函数组。
 

覆盖(override,重写):

子类重写定义基类中有相同名字相同参数的虚函数。
 
不同范围内(特指基类派生类)
函数名相同
参数相同
基类函数有virtual关键字修饰
 
virtual函数是private的,派生类中可重写为public 或者protected。
 

重定义(redefining,也叫隐藏):

派生类的函数屏蔽了与其同名的基类函数;
a、若派生类的函数与基类的函数名称相同,但参数类表不同,则基类函数被隐藏(不管基类函数有无virtual修饰);
b、若派生类的函数与基类的函数名称相同,参数列表相同,但基类函数无virtual修饰,则基类函数被隐藏。
 

c++ 重载,覆盖,重定义

标签:style   blog   http   io   ar   os   使用   sp   strong   

原文地址:http://www.cnblogs.com/iois/p/4085173.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!