Enviado em 07/11/2016 - 00:22h
Boa noite a todos,#include <iostream>
class A
{
public:
virtual ~A()
{
}
};
class B1: virtual public A
{
public:
B1();
virtual ~B1()
{
}
};
class B2: virtual public A
{
public:
B2()
{
// Tentativa de impedir que o objeto criado seja filho ao mesmo tempo de B1 e B2
if ( (dynamic_cast <B1 *>(this)) != NULL )
{
throw std::exception();
}
}
virtual ~B2()
{
}
};
B1::B1()
{
// Tentativa de impedir que o objeto criado seja filho ao mesmo tempo de B1 e B2
if ( (dynamic_cast <B2 *>(this)) != NULL )
{
throw std::exception();
}
}
class C: public B1, public B2
{
public:
virtual ~C()
{
}
};
int main()
{
C c;
return 0;
}
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)