В приложении С++ скажем, что у меня есть класс окна, который имеет несколько экземпляров класса управления. Если мое окно хотело уведомить элемент управления, на который он был нажат, я могу использовать:
control[n]->onClick();
Теперь скажем, что элемент управления должен знать размер его родительского окна или другую информацию. Для этого я подумывал о том, чтобы дать элементу управления указатель на себя (это) в качестве параметра для его конструктора. Тогда я бы сделал такой вызов из метода onClick():
Size windowsize = parent->getSize();
Будет ли это считаться плохой практикой или каким-либо иным образом противоречить значениям объектно-ориентированного программирования? Если да, то каков он "правильный" способ сделать это?
Как побочный вопрос, было бы лучше иметь вектор класса или класса *? Стоит ли добавленная сложность для увеличения скорости? (Изменения в векторе будут нечастыми).