PDA

Visualizza la versione completa : [C++] "Come definisco nel main() un dato 'struttura' della classe?


Zeldic
30-04-2010, 14:14
Ragazzi, urgentissimo.. Vi prego, aiutatemi.. Come definisco nel main() un dato 'struttura' che ho dichiarato nella parte privata di una classe?
Ad esempio, la mia classe si chiama 'pila', la struttura 'elemento', nel main voglio dichiarare una variabile puntatore 'top'.. Come faccio?? :confused:

pila elemento *top; ??

Please, help mee!!!! :(

MacApp
30-04-2010, 14:35
::

Zeldic
30-04-2010, 14:43
Adesso il compilatore mi dice che un dato privato della classe, non si pu accedere, uffa! :(

MItaly
30-04-2010, 14:48
Se privato ovvio che non ci si possa accedere da fuori... :fagiano:

Zeldic
30-04-2010, 14:52
E quindi nel main come faccio ad accedere alle funzioni 'push', 'pop'? Che dato dichiaro?

E se la struttura la metto nella parte pubblica della classe, poi nella parte privata non mi rimane niente.. Che ci metto?

Zeldic
30-04-2010, 16:17
Nessuno mi pu aiutare?? Di che tipo deve essere il dato nel main a cui far puntare le funzioni? Il nome della classe, della struttura? :dh:

MItaly
30-04-2010, 16:22
Originariamente inviato da Zeldic
E quindi nel main come faccio ad accedere alle funzioni 'push', 'pop'? Che dato dichiaro?
Devi spostare la struttura nella parte pubblica della classe.

E se la struttura la metto nella parte pubblica della classe, poi nella parte privata non mi rimane niente.. Che ci metto?
Che ne so? Dipende da come organizzata la tua classe.

Zeldic
30-04-2010, 16:48
..Ecco la mia classe :




class coda {
private :
// Non saprei cosa inserire qui..
public :
void stampa();
void enqueue(int dato);
int dequeue();

struct elem {
int info;
elem* next;
};
elem* lista;
};



.. ma se dichiaro nel main :




main() {
// Dichiarazione della variabili :
coda::elem* elemento = NULL;



..e poi :




switch(opzione) {
case 1 :
cout << "Digita l'elemento da inserire nella coda : ";
cin >> num;
cout << "\n";
elemento->enqueue(num);
break;



mi d l'errore "struct coda::elem has no member named 'enqueue' ".. :dh:

MItaly
01-05-2010, 00:38
Non dovresti esporre come pubblico n il tipo elem n il puntatore alla lista; dovresti invece solo fornire metodi per aggiungere, rimuovere e accedere agli elementi.

MacApp
01-05-2010, 02:20
Originariamente inviato da Zeldic



class coda {
...
struct elem {
int info;
elem* next;
};
...
};
...
elemento->enqueue(num);
...


mi d l'errore "struct coda::elem has no member named 'enqueue' ".. :dh:
giusto, ti sembra che "enqueue" sia un membro di coda::elem? solo "info" e "next" lo sono non ti pare?

Loading