Я пытаюсь найти лучший подход для разработки класса-оболочки, над которым я работаю.
У меня есть класс, class A
. Он имеет несколько опубликованных c методов. У меня есть второй класс, class B
, который используется для управления многими указателями на экземпляры A
. A
должен быть скрыт от пользователя и доступен только через B
, но это не сложное правило, которое может быть нарушено. B
должен предоставить пользователю все те же методы, которые A
имеет, для каждого указателя, просто оборачивая функции A
.
Мой вопрос заключается в том, могу ли я просто обернуть A
' с функциями? Это кажется проблематичным c, потому что всякий раз, когда я добавляю функцию к A
, я должен написать функцию-обертку в B
, которая выглядит как избыточный код. Другой вариант - написать одну единственную функцию, которая возвращает один из указателей на A
, чтобы пользователь мог использовать на нем ->
и получить доступ ко всем методам A
. В этом случае нет необходимости писать дополнительные методы в B
всякий раз, когда добавляется один в A
. Проблема с этим решением состоит в том, что оно предоставляет A
, что я действительно не хочу делать, но сделаю это при необходимости.
Существует ли существующий шаблон проектирования, который четко с этим справляется? Или какой-то предпочтительный метод?