У меня есть модуль C ++, которому нужно получать информацию из других классов, не зная этих классов. Очевидный подход - использовать интерфейсы.
Позвольте мне привести вам пример. Предположим, у меня есть библиотека, которая управляет книгами, и все книги имеют свои собственные характеристики и функции, и чтобы позволить библиотеке получить характеристику от книги или выполнить функцию, книга должна реализовать интерфейс. Как это:
class Library
{
public:
void addBook(IBook &book);
};
class IBook
{
public:
string getAuthor() = 0;
string getTitle() = 0;
string getISBNCode() = 0;
size_t getNofPages() = 0;
size_t getNofImages() = 0;
double getPrice() = 0;
void printBook() = 0;
void convertToPdf() = 0;
};
К сожалению,
Есть идеи?