同名隐藏
同名隐藏也叫同名覆盖,意思是子类和父类拥有相同的函数名
规则:不看返回值,不看参数,只要函数名相同,子类就会覆盖父类的函数
/*
* @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::
*/