Приветствую!
Помогите, пожалуйста, понять, как лучше сделать:
и так, есть класс A и его интерфейс IA, который наследуется от класса B с интерфейсом IB
class A: public IA, public B
{
public:
void a();
}
class IA
{
public:
virtual a()=0;
}
class B: public IB
{
public:
void b();
}
class IB
{
public:
virtual b()=0;
}
В некотором месте программы я получаю указатель на IA*,
но мне нужно вызвать методы от B,
но интерфейс IA не наследуется от IB (если бы наследовался, то будет ошибка "... is ambiguous" ),
а использовать можно только IA или IB без возможности получить доступ к A или B.
Так вот, как мне наиболее правильно создать эти два класса и их интерфейсы (A, IA, B, IB), что бы можно было делать так:
IA * a = ....;
a->b(); ???