从基类扩展派生类中的多态性



我有一个基类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;}
};

最新更新