Взаимодействие между классами |
Здравствуйте, гость ( Вход | Регистрация )
Взаимодействие между классами |
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) { ..... } И дело в том, что мне в дочернем классе нужно изменить значение родительского вектора, наставник говорил, что можно сделать как то через ссылку на структуру, а объект родительского класса нельзя создавать в дочернем, так как пойдут постоянные пересоздания классов (сам проверил, да и значения родительского вектора не видно). Я в высокоуровневом программировании я еще младенец не ругайтесь если буду уточнять)) |
|
|
Алексей1153 |
31.10.2011, 8:01
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2939 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
какая-то каша в голове!
Цитата в исполняемой функции run() я заполняю вектор и создаю объект дочернего класса: где там что заполняется и какой родитель у MyClient ? Доступ к членам родителя можно осуществить, объявив те члены protected или public , либо прописав protected/public- методы Сообщение отредактировал Алексей1153 - 31.10.2011, 8:01 |
|
|
PAFOS |
2.11.2011, 8:07
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 258 Регистрация: 27.12.2010 Из: Дмитров Пользователь №: 2309 Спасибо сказали: 29 раз(а) Репутация: 8 |
Цитата И дело в том, что мне в дочернем классе нужно изменить значение родительского вектора имхо тут попахивает ошибкой проектирования классов. |
|
|
Текстовая версия | Сейчас: 29.3.2024, 12:41 |