一:覆盖
1.定义:覆盖是基类和派生类中的,基类函数是虚函数,派生类中重写此函数,函数名参数都想同,这就会发生覆盖
为什么叫覆盖?
因为派生类继承基类的时候实际上是先拷贝了基类的所有非private的成员,当基类的函数是虚函数的时候,如果重写此函数,函数名和参数完全相同,此时派生类中的函数会将派生的基类中的此函数覆盖掉(注意;并不是覆盖了基类的函数,而是派生类继承的基类的函数),所以叫做覆盖
正式因为覆盖才有了C++中的多态
条件:
基类函数必须是虚函数
发生在基类与派生类中
函数名称和参数完全相同
二:隐藏
1.函数名称相同,参数不同,叫隐藏
2.函数名同,参数同,但是无virtual,也是隐藏