Привет, я новичок в объектно-ориентированном программировании. Здесь я намерен сделать три анимационные сюжетыКак удалить обмен переменных между объектами?
subwindow_movie *child_Movie = new subwindow_movie;
child_Movie->setGeometry(20,100,620,560);
child_Movie->setplot(0);
child_Movie->show();
subwindow_movie *child_Movie1 = new subwindow_movie;
child_Movie1->setGeometry(680,100,620,560);
child_Movie1->setplot(1);
child_Movie1->show();
subwindow_movie *child_Movie2 = new subwindow_movie;
child_Movie2->setGeometry(325,350,620,560);
child_Movie2->setplot(2);
child_Movie2->show();
, но проблема в том, что все они имеют такое же значение setplot
, е, когда третий subwindow_movie
создается child_movie0
и child_movie1
оба setplot
значения становятся 2
; как избавиться от этого ... ниже функция заданного значения внутри класса
#include "subwindow_movie.h"
#include "ui_subwindow_movie.h"
#include "plot.h"
#include <qapplication.h>
#include <qmainwindow.h>
int movie;
subwindow_movie::subwindow_movie(QWidget *parent) :
QDialog(parent),
ui(new Ui::subwindow_movie)
{
ui->setupUi(this);
}
subwindow_movie::~subwindow_movie()
{
delete ui;
}
void subwindow_movie::setplot(int value)
{
if (value ==0)
{ d_plot0 = new Plot(this);
movie=0;}
else if (value ==1)
{ d_plot1 = new Plot(this);
movie=1;}
else if (value ==2)
{ d_plot2 = new Plot(this);
movie=2;}
}
void subwindow_movie::on_movie_slider_valueChanged(int value)
{
if (movie ==0)
{ d_plot0->setAlpha(value);
}
else if (movie ==1)
{ d_plot1->setAlpha(value);
}
else if (movie ==2)
{ d_plot2->setAlpha(value);
}
}
реальная проблема int movie
, которая меняется в с созданием нового child_movie
вызывает child_movie0
запустить movie2
. Я не хочу, чтобы переменная movie
изменена для child_movie0
с созданием child_movie1
.
пытался ваше предложение, но до сих пор ценность фильма меняется с новой декларацией child_movie .. :( – habbas33
решаемые спасибо :) – habbas33
@ user3871970 Хорошо :) Есть ли что-то конкретное, что вам дополнительно нужно делать, и что я могу добавить к моему ответу? –