我有一个基类A
,另一个类B
,它公开派生自类"A"和一个主函数:
#include <iostream>
class A
{
public:
void add(int x,int y){std::cout<<x+y;}
};
class B:public A
{
public:
void add(int *x,int *y){std::cout<<*x+*y;}
};
int main()
{
B t;
int p=5,q=6;
t.add(p,q);
}
上面的程序编译失败,我能够理解 A 类add
函数隐藏在 B 类中的原因。
的问题,我如何完成上述任务?我想在派生类中添加一个函数定义,其名称与基类中的某些函数相同。函数的参数列表将有所不同。
如果要在B
中取消隐藏add
A
方法,请使用:
class B : public A
{
public:
using A::add;
void add(int *x,int *y){std::cout<<*x+*y;}
};