Herança Múltipla em C ++ - por que você não trabalh
stou tentando descobrir uma questão interessante de herança múltipl
O avô é uma classe de interface com vários métodos:
class A
{
public:
virtual int foo() = 0;
virtual int bar() = 0;
};
Então, existem classes abstratas que estão concluindo parcialmente essa interfac
class B : public A
{
public:
int foo() { return 0;}
};
class C : public A
{
public:
int bar() { return 1;}
};
A classe que eu quero usar herda de ambos os pais e especifica qual método deve vir de onde, usando diretivas:
class D : public B, public C
{
public:
using B::foo;
using C::bar;
};
Quando tento instanciar um D, obtenho erros ao tentar instanciar uma classe abstrat
int main()
{
D d; //<-- Error cannot instantiate abstract class.
int test = d.foo();
int test2 = d.bar();
return 0;
}
lguém pode me ajudar a entender o problema e a melhor forma de fazer uso de implementações parciai