我有一个基类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类中的原因.
我的问题是,我如何实现上述任务?我想在派生类中添加一个函数定义,其名称与基类中的某个函数相同.该功能的参数列表将有所不同.
如果要取消隐藏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)
| 归档时间: |
|
| 查看次数: |
85 次 |
| 最近记录: |