emit mySignal("MyParametr");
connect(sender, SIGNAL(mySignal(QString)), reciver, SLOT(slotSetParam(const QString &)));
class C:{ private: Container<object*> container; public: void update() { /*pseudocod*/ foreach(Container<object*> o, container) { o->changeSomething(/*set of params*/); } }; void addClass(object* obj) { container.append(obj); }}//С* с = new C();A* a = new A(c);B* b = new B(c);//потом класс С сделать контейнером для классов Б и А.c->addClass(a);c->addClass(b);// тепер когда в классе А что-то случиться вызвать функцию update() класса С..........void ClassA_or_B_function(){ //ссылку на с мы уже више настроили. c->update();}..........