我有一个子类,它是从两个父类(一个公共,一个私有)派生的。每个父类都有一个使运算符*重载的函数。如果我在子类中使用此函数,则会收到一个错误(歧义函数),但是我想使用公共父级中的方法。
class ParentA
{
public:
ParentA operator*(const ParentA & other);
};
class ParentB
{
public:
ParentB operator*(const ParentB & other);
};
class Child : public ParentA, private ParentB
{
...
};
int main()
{
Child x,y;
x*y;
return 0;
}
我该如何解决这个问题?
非常感谢你,
雷莫
最佳答案
尝试按以下方式编写子类(未经测试):
class Child : public ParentA, private ParentB {
public:
using ParentA::operator*;
... /*same as before*/
};
关于c++ - 定义必须采用的父函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19855017/