void segregation::make_order(int n, double cr){ int i,j;//динамически создаю массивы QString *ar1=new QString[n]; double *ar2=new double[n*n];//заполняю их значениями из данного экзэмпляра for (i=0; i<n; ++i){ ar1[i]=ar_source1[i]; for (j=0; j<n; ++j){ ar2[i*n+j]=ar_source2[i*n+j]; } }//пытаюсь использовать указатели для создания дочернего//экзэмпляра другого класса (new ordering(this, n, ar1, ar2, cr))->show();}
ordering::ordering(QWidget *parent, int i_n, QString *i_genes, double i_crit, double *i_dist_in, double *i_recomb_in) : QWidget(parent,Qt::Window){ //присваиваю членам класс входящие значения n=n_e=i_n; m_crit=crit=i_crit; genes=i_genes; dist_in=i_dist_in; recomb_in=i_recomb_in; //создаю новые массивы для промежуточных и итоговых расчетов exist=new bool[n]; for (int i=0; i<n; ++i){exist[i]=true;}; tree=new bool[n*n]; conn_in=new bool[n*n]; ways_in=new double[n*n]; center=new double[n]; genes_sr=new QString[n]; dist_sr=new double[n*n]; recomb_sr=new double; conn_sr=new bool[n*n]; ways_sr=new double[n*n]; dist_md=new double[n*n]; msp_sr=new double[n*n]; coord=new double[n*n]; //методы класса осуществляют расчеты definecenter(); cent_ch(-1); //создание элементов для компоновки и отображения элементов panel_layout=new QHBoxLayout(this); right_layout=new QVBoxLayout(this); table_layout=new QVBoxLayout(this); p_box=new points_box(this,n,genes); r_box=new relation_box(this, m_crit); graph=new d2_graf(this, n, &n_e, genes_sr, coord, conn_sr, tree); //компоновка элементов setLayout(panel_layout); panel_layout->addWidget(p_box); panel_layout->addLayout(right_layout); panel_layout->addLayout(table_layout); right_layout->addWidget(r_box); right_layout->addWidget(graph); // connect(p_box, SIGNAL(point_selection(int)), this, SLOT(cent_ch(int))); connect(p_box, SIGNAL(point_enabling(bool*)), this, SLOT(poin_ch(bool*))); connect(this, SIGNAL(point_en_back(bool*)), p_box, SLOT(points_depend(bool*))); //отображение промежуточных результатов //здесь table получает значение члена класса ordering (адрес массива) //его размеры и отображает содержимое t0=new table(this, n, n, dist_sr); table_layout->addWidget(t0); t1=new table(this, n, n, ways_sr); table_layout->addWidget(t1); t3=new table(this, n, n, conn_sr); table_layout->addWidget(t3); t2=new table(this, n, n, coord); table_layout->addWidget(t2); t5=new table(this, 1, n, center); table_layout->addWidget(t5); t6=new table(this, n, n, tree); table_layout->addWidget(t6);}
C++ (Qt) right_layout=new QVBoxLayout(this); table_layout=new QVBoxLayout(this);
C++ (Qt) right_layout=new QVBoxLayout; table_layout=new QVBoxLayout;