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

use*_*567 2 c++

我有一个基类A,另一个B公开派生自类'A'的类和一个main函数:

#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);
}
Run Code Online (Sandbox Code Playgroud)

上面的程序无法编译,我能够理解addA类中的函数隐藏在B类中的原因.

我的问题是,我如何实现上述任务?我想在派生类中添加一个函数定义,其名称与基类中的某个函数相同.该功能的参数列表将有所不同.

Dan*_*rey 5

如果要取消隐藏add的方法A中B,使用:

class B : public A
{
public:
    using A::add;
    void add(int *x,int *y){std::cout<<*x+*y;}
};
Run Code Online (Sandbox Code Playgroud)