在不使用虚函数的情况下,我们可以基于其参数调用重写函数吗?

时间:2020-04-18 07:48:30

标签: c++

class mca1
{
    public:
        void power(float m,int n)
        {
           cout<<"RESULT OF "<<m<<"^"<<n<<"="<<pow(m,n);
        }
};
class mca2:public mca1
{
    public:
        void power(int m,int n)
        {
            cout<<"\nRESULT OF "<<m<<"^"<<n<<"="<<pow(m,n);
        }
};

请告诉我,有什么方法可以不使用虚函数而仅在参数的基础上调用覆盖函数?

1 个答案:

答案 0 :(得分:0)

您可以将基类函数拉入派生类范围,使其表现为重载函数。

class mca1
{
    public:
        void power(float m,int n)
        {
           cout<<"RESULT OF "<<m<<"^"<<n<<"="<<pow(m,n);
        }
};
class mca2:public mca1
{
    public:
        using mca1::power;
        void power(int m,int n)
        {
            cout<<"\nRESULT OF "<<m<<"^"<<n<<"="<<pow(m,n);
        }
};