У меня есть два класса под названием Data и A. класс A в основном представляет собой набор функций, которые управляют данными в данных. Теперь мне нужен способ доступа ко всем данным в Data. Я знаю два способа сделать это.
Я могу передать ссылку на данные A, но тогда мне всегда нужно записать префикс » Data.»что, я думаю, действительно раздражает, и нет никакой двусмысленности в любом случае.
Я могу сделать суперкласс данных. Но некоторые методы в вызове другого класса B, который также мутирует данные класса, и в этом подходе я не уверен, как это может быть сделано.
Поэтому мой вопрос: есть ли другой способ доступа к данным в данных, который был бы более подходящим?
Концепция, которую вы ищете, называется классом друзей. Классы Friend имеют доступ к закрытым членам класса, в котором они объявлены. Итак, у вас будет что-то вроде
Если вопрос собирается получить доступ к данным из класса A, объявите данные глобальными. Вы можете очень хорошо получить доступ к любому. Это также может быть класс А. Используйте данные класса в качестве файла заголовка для реализации класса A, все открытые члены данных будут доступны классу A.