从派生类调用父类成员函数

时间:2019-07-13 22:11:59

标签: c++ c++11

我是C ++的新手,并且具有包含多个类的代码。我想从派生类访问父类的成员函数。因此,我定义了公共继承并调用了成员函数,但遇到了错误expected unqualified-id before ‘.’ token A.f1()

#include <iostream>

class A
{
    public:
    void f1 ()
    {
        std::cout<<"In class A::f1()";
    }
};

class B:public A
{
    public:
    void f2()
    {
        std::cout<<"In class B::f2() \n";
        std::cout<<"Calling A::f1() \n";
        A.f1(); //Error
    }
};


int main()
{
    B obj1;
    obj1.f2();

    return 0;
}

在上述情况下,从f1()访问B::f2()是唯一推荐的公共继承方法吗?

2 个答案:

答案 0 :(得分:1)

您只需要致电

f1();

或者您的派生类具有自己的f1函数(覆盖)调用

A::f1();

答案 1 :(得分:0)

只需更换

A.f1(); //Error

使用

f1(); // Success!!