Здравствуйте, гость ( Вход | Регистрация )
|
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
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2946 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34
|
какая-то каша в голове!
Цитата в исполняемой функции run() я заполняю вектор и создаю объект дочернего класса: где там что заполняется и какой родитель у MyClient ? Доступ к членам родителя можно осуществить, объявив те члены protected или public , либо прописав protected/public- методы Сообщение отредактировал Алексей1153 - 31.10.2011, 8:01 |
|
|
|
Raks123 Взаимодействие между классами 29.10.2011, 18:02
PAFOS ЦитатаИ дело в том, что мне в дочернем классе нужн... 2.11.2011, 8:07![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 15.12.2025, 8:58 |