Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di Zeldic
    Registrato dal
    Jan 2010
    Messaggi
    80

    [C++] "Come definisco nel main() un dato 'struttura' della classe?

    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??

    pila elemento *top; ??

    Please, help mee!!!!

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Zeldic
    Registrato dal
    Jan 2010
    Messaggi
    80
    Adesso il compilatore mi dice che è un dato privato della classe, non si può accedere, uffa!

  4. #4
    Se è privato è ovvio che non ci si possa accedere da fuori...
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it L'avatar di Zeldic
    Registrato dal
    Jan 2010
    Messaggi
    80
    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?

  6. #6
    Utente di HTML.it L'avatar di Zeldic
    Registrato dal
    Jan 2010
    Messaggi
    80
    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?

  7. #7
    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.
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it L'avatar di Zeldic
    Registrato dal
    Jan 2010
    Messaggi
    80
    ..Ecco la mia classe :

    codice:
    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 :

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

    codice:
    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' "..

  9. #9
    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.
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Originariamente inviato da Zeldic
    codice:
    class coda {
    ...
        struct elem {
          int info;
          elem* next;
        };
    ...
    };
    ...
                elemento->enqueue(num);
    ...
    mi dà l'errore "struct coda::elem has no member named 'enqueue' "..
    giusto, ti sembra che "enqueue" sia un membro di coda::elem? solo "info" e "next" lo sono non ti pare?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.