Все нормально,
имеет:
class A
{
virtual x() = 0;
virtual y() = 0;
}
class B
{
virtual x() = 0;
virtual z() = 0;
}
class C : A , B
{
x();
y();
z();
}
чтобы поделиться экземплярами класса C с двумя библиотеками, одна из которых знает только A, а другая знает только B?
Как:
Библиотека 1:
#include <a>
A* a = function_in_the_core_that_creates_a_C_and_retrieves_it();
a->x();
a->y();
Библиотека 1:
#include <b>
B* b = function_in_the_core_that_creates_a_C_and_retrieves_it();
b->x();
b->z();
Я спрашиваю об этом, потому что мне интересно, будут ли у компилятора проблемы с разрешением функций, поскольку библиотеки не имеют полного знания о происхождении C.
EDIT:
function_in_the_core_that_creates_a_C_and_retrieves_it () должен возвращать C *, а не C. Я подумал, что это было понятно, поскольку речь идет о виртуальных функциях.