Problema con le classi

di il
1 risposte

Problema con le classi

Ciao a tutti,

sono abbastanza inesoperto di C++ ed ho un problema con le classi.
Sto usando il modulo wx per scrivere una GUI,ma questo è relativamente ininfluente.
Ho creato due classi, chiamiamole classe1 e classe2.
classe1 ha dentro di se un oggetto classe2.
classe2 ha dentro di se dei vettori std:vector ed un intero
Durante l'inizializzazione di classe2, il vettore è inizializzato come segue;

std::vector<double> vectorx(num_elem2plot);
std::vector<double> vectory(num_elem2plot);

for (int p = 0; p < num_elem2plot; p++) {
//vectorx.push_back(p);
vectorx[p] = p;
//vectory.push_back(2*p*maxval/num_elem2plot + minval);
vectory[p]=(2*p*maxval/num_elem2plot + minval);
}
L'intero è definito dalla chiamata,
nelem = num_elem2plot;//nume_elem2plot è uno dei parametri della classe
Orbene, usciti dall'inizializazione e tornati in classe1, mentre l'intero posso ritrovarlo con classe2->nelem;
I due vettori risultano vuoti.
Come mai si verifica questo?Cosa posso fare per evitarlo?

grazie,saluti
L

1 Risposte

  • Re: Problema con le classi

    Ehi, ho risolto!
    Il problema è che dichiaravo i vettori sia nell'header che nell'inizializzazione (come ho sritto, nell'inizialiazzazione ridichiarvao dei vettori)...questi vettori "shadow"(non sol il verbo in italiano..coprivano?) le variabili della classe con variabili locali...in pratica inizializzavo dei vettori locali che appena finita l'inizialiazzazione sparivano...
    grazie alle 2 persone che hanno visto, scusate se vi ho fatto perdere tempo
Devi accedere o registrarti per scrivere nel forum
1 risposte