同名隐藏

同名隐藏也叫同名覆盖,意思是子类和父类拥有相同的函数名

规则:不看返回值,不看参数,只要函数名相同,子类就会覆盖父类的函数

/*
* @Author: sottxiong
* @Date:   2019-11-23 13:23:40
* @Last Modified by:   sottxiong
* @Last Modified time: 2019-11-23 13:30:43
*/
#include <iostream>

class Artist
{
public:
    void eat(){
        std::cout<<"Artist::"<<std::endl;
    }
    void drink(std::string){
        std::cout<<"Artist::"<<std::endl;
    }

};

class Singer:public Artist
{
public:
    void eat(){
        std::cout<<"Singer::"<<std::endl;
    }
    void drink(){
        std::cout<<"Singer::"<<std::endl;
    }

};

int main(int argc, char const *argv[])
{
    /* code */
    Singer singer;
    singer.eat();
    singer.drink();
    singer.Artist::drink("可口可乐");
    return 0;
}

/*
Singer::
Singer::
Artist::
*/

results matching ""

    No results matching ""