Здравствуйте, гость ( Вход | Регистрация )
|
Raks123 |
29.10.2011, 18:02
Сообщение
#1
|
|
Студент ![]() Группа: Новичок Сообщений: 16 Регистрация: 2.10.2011 Пользователь №: 2920 Спасибо сказали: 0 раз(а) Репутация: 0
|
Я создаю в программе поток:
int main(int argc, char *argv[]) { ...... Thr thread; thread.start(); ..... В классе потока есть структура с контейнером: struct MyStruct{ QString adress; int port; bool zanyatost; int vremya; QString nameScript; }; Q_DECLARE_METATYPE(MyStruct); class Thr : public QThread { public: Thr(); QVector<MyStruct> vector; ........ в исполняемой функции run() я заполняю вектор и создаю объект дочернего класса: void Thr::run() { ...... MyClient socket(i); ..... вот сюда передается параметр: MyClient::MyClient(int nomer) { ..... } И дело в том, что мне в дочернем классе нужно изменить значение родительского вектора, наставник говорил, что можно сделать как то через ссылку на структуру, а объект родительского класса нельзя создавать в дочернем, так как пойдут постоянные пересоздания классов (сам проверил, да и значения родительского вектора не видно). Я в высокоуровневом программировании я еще младенец не ругайтесь если буду уточнять)) |
|
|
|
![]() |
|
PAFOS |
2.11.2011, 8:07
Сообщение
#2
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 258 Регистрация: 27.12.2010 Из: Дмитров Пользователь №: 2309 Спасибо сказали: 29 раз(а) Репутация: 8
|
Цитата И дело в том, что мне в дочернем классе нужно изменить значение родительского вектора имхо тут попахивает ошибкой проектирования классов. |
|
|
|
Raks123 Взаимодействие между классами 29.10.2011, 18:02
Алексей1153 какая-то каша в голове!
Цитатав исполняемой ... 31.10.2011, 8:01![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 14.12.2025, 14:59 |