我是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()
是唯一推荐的公共继承方法吗?
答案 0 :(得分:1)
您只需要致电
f1();
或者您的派生类具有自己的f1函数(覆盖)调用
A::f1();
答案 1 :(得分:0)
只需更换
A.f1(); //Error
使用
f1(); // Success!!