我是C++的新手,并且具有包含多个类的代码。我想从派生类访问父类的成员函数。因此,我定义了公共(public)继承并调用了成员函数,但出现了错误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()是公共(public)继承的唯一推荐方法?

最佳答案

你只需要打电话

f1();

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

关于c++ - 从派生类调用父类成员函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57023176/

10-14 07:48