Reputation: 655
The compiler says that function dummy() on line 22 (in classs doumbClass) is ambiguous. How can I fix that?
#include<iostream>
#include<iomanip>
using namespace std;
class BusinessClass {
public :
virtual void dummy(){
cout<<"businessClass"<<endl;
}
};
class EconomyClass {
public:
void dummy() {
cout<<"economyClass"<<endl;
}
};
class DoumbClass : public BusinessClass, public EconomyClass{
public:
void moreDumb(){
dummy();
}
};
int main(int argc, char **argv)
{
DoumbClass xclass;
xclass.moreDumb();
return 0;
}
Upvotes: 0
Views: 64
Reputation: 2226
As you can use Arkady Godlin method, You also can specify which dummy
function you want to use in class declaration, if you know in advance. Like this :
class DoumbClass :public BusinessClass,public EconomyClass
{
public:
using BusinessClass::dummy;
//or using EconomyClass::dummy;
};
Upvotes: 1
Reputation: 588
you need to specify which base function you want to call you can do this.
void moreDumb() {
EconomyClass::dummy();
}
or
void moreDumb() {
BusinessClass::dummy();
}
Upvotes: 1