dolphin23
@dolphin23
Новичок в программировании

Нужно добавить проверку существует ли уже один объект класса и в таком случае удалить его из памяти и создать новый, что нужно сделать?

Суть в том что я по нажатию на кнопку вызываю слот "drawChart" который отрисовывает график, для этого я каждый раз когда я нажимаю кнопку я создаю новый объект класса "Chart". Так вот проблема в том что я могу так до бесконечности создавать такие объекты, а мне нужно удалять старый график и рисовать новый когда пользователь нажал на кнопку второй/третий/и т.д. раз.

void MainWindow::drawChart(){
    chart = new Chart(line_x0->text().toFloat(), line_yx0->text().toFloat(), this);
    layoutChart->addWidget(chart);
    layoutMain->addLayout(layoutChart);
}
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 2
PavelK
@PavelK
Приветствую.
Почему бы тогда указатель на график не объявить как член класса, инициализировать его в конструкторе (ну или при первом использовании), а когда нужно отрисовать новый, то просто очищать старый график его же методами, а не пересоздавать каждый раз заново?
Ответ написан
Комментировать
Dimpik
@Dimpik
Это делается через что-то типо child() или get_child(), поищите в инете.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
CTRL+ Москва
от 250 000 до 320 000 ₽
CTRL+ Москва
от 200 000 до 300 000 ₽
CTRL+ Белград
от 250 000 до 320 000 ₽