C++里子类会覆盖基类里的同名同参函数吗?

来源:百度知道 编辑:UC知道 时间:2024/06/14 00:24:14
如题

不用指针调用函数的话,会覆盖,类似虚函数一样.
如果是有意的覆盖,最好把基类的函数定义为虚函数.

当用指针调用时候就不会覆盖.
因为定义一个基类指针,当通过这个指针调用所指向子类对象函数时候,就会调用基类的函数,而不是子类的

你可以编个简单的程序测试下就知道了,定义个基类B和 子类C,在c里重写b的函数fun();

然后main里定义个指针调用测试下
int main()
{
B ob1;
C ob2;
B *p;
p=&ob2;
p->fun();
return 0;
}

不会的。调用是有语法要求的