Прежде всего, это плохо выставлять переменные-члены.
Во-вторых, ваш класс, вероятно, никогда не должен содержать указатели.
Небольшое следствие: классы, содержащие бизнес-логику, никогда не должны иметь указателей (поскольку это означает, что они также содержат код управления указателями, а код управления указателями следует оставлять классам, которые не имеют бизнес-логики, но предназначены специально для управления указателями ( умные указатели и контейнеры).
Классы управления указателями (умные указатели / контейнеры) должны быть разработаны для управления одним указателем. Управлять более чем одним гораздо сложнее, чем вы ожидаете, и мне еще предстоит найти ситуацию, когда дополнительная сложность окупилась.
Наконец, публичные члены не должны раскрывать базовую реализацию (вы не должны предоставлять доступ членам даже через методы получения / установки). Это привязывает интерфейс к реализации. Вместо этого ваш общедоступный интерфейс должен предоставлять набор действий, которые могут быть выполнены над объектом. то есть методы verbs
.
В C ++ редко можно увидеть указатели.
Они обычно скрыты внутри других классов. Но вы должны привыкнуть к использованию смеси ->
и .
, поскольку все зависит от контекста и того, что вы пытаетесь передать. Пока код чистый и читаемый, он не имеет большого значения.
Личное дополнение:
Я ненавижу _ в конце вашего идентификатора. исчезнуть foo_.getName()
Я думаю, что это будет выглядеть намного лучше, как foo.getName()