Russian Qt Forum

Qt => Общие вопросы => Тема начата: алексей от Август 24, 2010, 15:29



Название: Удаление указателя на класс
Отправлено: алексей от Август 24, 2010, 15:29
Здравствуйте !! Тема наверное поднималась сто раз, просьба сильно не пинать....Есть два класса. Необходимо из одного манипулировать данными другого. Сделал так:
класс 1
Код:
class my_clock : public QWidget{
Q_OBJECT
public:
my_clock(QWidget *parent = 0);
~my_clock();
private:
QPixmap hour;
QPixmap mins;
QPixmap secunds;
QTimer *alarma_timer;
my_clock *my_pointer; //указатель на класс my_clock, к которому надо достучаться из         другого класса
};
класс 2
Код:
class alarm_setup : public QDialog, public Dialog
{
Q_OBJECT

public:
alarm_setup(QWidget *parent = 0);
~alarm_setup();
QSettings *alarmsettings;
QSettings *settings;
QString type_clock;
my_clock *my_point; //тоже указатель на my_clock, из этого класса работаем с первым
}
в конструкторе:
Код:
my_clock::my_clock(QWidget *parent): QWidget(parent, Qt::FramelessWindowHint | Qt::WindowSystemMenuHint)
{
         my_pointer = static_cast<my_clock *>(this); //получаем указатель на свой класс
my_alarm_setup = new alarm_setup;
my_alarm_setup->my_point=my_pointer; //передаем его в тот, из которого будем потом работать
}
Нужно ли в деструкторе alarm_setup удалять my_point , и нормальны ли вообще такие ссылки ???


Название: Re: Удаление указателя на класс
Отправлено: Авварон от Август 24, 2010, 15:45
отрывать бы руки... во 1х, называйте типы и переменные по разному... гадать что my_clock это тип а my_point переменная как-то вообще не  в кайф.
Зачем вообще my_clock *my_pointer;
my_alarm_setup->my_point=this;
нет, не нужно, вы разрушите виджет (не думаю, что оно вам надо)


Название: Re: Удаление указателя на класс
Отправлено: алексей от Август 25, 2010, 13:11
понятно..спасибо !!!