Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Взаимодействие между классами
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Script. Интеграция WebKit
Raks123
Я создаю в программе поток:
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
какая-то каша в голове!

Цитата
в исполняемой функции run() я заполняю вектор и создаю объект дочернего класса:


где там что заполняется и какой родитель у MyClient ?

Доступ к членам родителя можно осуществить, объявив те члены protected или public , либо прописав protected/public- методы
PAFOS
Цитата
И дело в том, что мне в дочернем классе нужно изменить значение родительского вектора


имхо тут попахивает ошибкой проектирования классов.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.