Chinaunix首页 | 论坛 | 博客
  • 博客访问: 674219
  • 博文数量: 150
  • 博客积分: 4070
  • 博客等级: 中校
  • 技术积分: 1795
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-23 21:44
文章分类

全部博文(150)

文章存档

2012年(1)

2011年(123)

2010年(26)

分类: C/C++

2011-06-19 22:15:41

重载、覆盖、隐藏之间的区别:
一、成员函数重载的特征:
    相同的范围(同一个类中);
    函数名字相同;
    参数不同;
    virtual关键字可有可无。
 
二、覆盖
    覆盖是指派生类函数覆盖积累函数,特征为:
    不同的范围内(基类和派生类);
    函数名相同;
    参数相同;
    基类函数必须有关键字virtual。
 
三、隐藏
    隐藏是指派生类的函数屏蔽了与其同名的基类函数,规则如下:
    派生类的函数与基类的函数同名,但是参数不同,此时不论有无virtual关键字,基类的函数都被隐藏;(与重载的区别)
    派生类的函数与基类的函数同名,并且参数相同,但是基类函数没有virtual关键字,此时基类的函数被隐藏。(与覆盖的区别)
 
阅读(569) | 评论(0) | 转发(0) |
0

上一篇:多态性

下一篇:new/delete 和 malloc/free

给主人留下些什么吧!~~