Парочка вариантов:
1) Гетерами - создаём функцию, которая при вызове возвращает ваши данные в удобоваримом виде. Функция публичная, собственно надо знать лишь указатель на класс. 
Сложность - нулевая.
Недостаток - путаница указателей классов между собой.
2) сигнал-слотовым механизмом. О нём написано много, суть - делаем сигнал, передающий данные и привязываем его к слоту. 
Сложность - для новичка средне 
 Недостаток
 Недостаток - слоты работают медленнее чем прямой вызов функций.
3) сигнлтон. Класс, доступный всем и существующей в единичном экземляре. Позволяет получить доступ к переменным кому угодно, откуда угодно в вашей программе.
Сложность - средняя. (но много инфы 

 )
Недостаток - нужна синхронизация доступа.
4) делать класс - менеджер, руководящий процессом. Имеющий в себе указатели на все ваши основные классы и организующий общение их между собой при помощи прямых вызовов функций. 
Сложность - легкая, но архитектуру надо продумать.
Недостаток - архитектура сначала кривая бывает 

PS эк я выпендрился 
