C++ 重载、隐藏和重写(或者称为覆盖)

1.当函数foo在同一个作用域中存在两个或者多个版本(具有不同签名)时,就称foo函数被“重载”了;

2.当基类中的一个virtual函数在派生类中也存在,并且它们具有相同的签名和返回类型时,就称派生类中的版本“重写”(或“覆盖”)了基类中的版本;

3.派生类中的成员函数,会隐藏基类中与之同名的全部函数。如果出现这种情况,则:a.只有派生类的函数可以被直接调用;b.必须要使用类作用域解析运算符“::”显示地调用基类函数。

......//example

class A{

pubilc:

        A(int a,int b);

        ...

        virtual void display();

        virtual QString toString() const;

        virtual QString toString(char ch);        //    函数重载

        ...

};

 

class B: public A{

public:

        ...

        QString toString() const;    //重写(覆盖)积累方法并隐藏toString(char)。

        void display(int n);            //没有重写方法,但是隐藏了全部的A::display()方法。

};

转载于:https://my.oschina.net/imtoby/blog/81072

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值