子类、父类之间实现函数重载

来源:互联网 发布:java异步日志系统 编辑:程序博客网 时间:2024/05/20 05:30

大家都知道C++中函数重载只能在同一个类中,因为子类中的函数会遮掩住父类中的同名函数。但是使用using 申明式可以使得父类中的同名函数在子类中可见,从而实现函数重载。实现代码如下所示:

#include <iostream>
using namespace std;

class Base
{
public:
void fun(int data)
{
cout<<"int"<<endl;
}
};

class Derivd:public Base
{
public:
using Base::fun;
void fun(double data)
{
cout<<"double"<<endl;
}
};

int main()
{
Derivd d;
d.fun(12);
}


这里using申明式可以使得父类中被遮掩住的同名函数在子类中可见,从而在子类中实现函数重载。

0 0