Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    98

    [C/C++] STL e stack

    Piccolo problemino con stack si STL: come faccio a stampare i vari elementi contenuti all'interno di esso?

  2. #2
    Esempio:

    Codice PHP:
    #include <stack>
    #include <iostream>

    using namespace std;

    int main()

    {

       
    stack<intmiostack;
       
       
    miostack.push(2005);
       
    miostack.push(2006);
       
    miostack.push(2007);
       
       while (!
    miostack.empty()) {  
                
    cout << miostack.top() << endl;
                
    miostack.pop(); 
       }   


  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    98
    grazie mille amico

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    98
    Facciamo un'altra cosa. Immaginiamo di avere una classe Persona così definita:
    Persona.h
    codice:
    #ifndef PERSONA_H
    #define PERSONA_H
    
    #include <string>
    
    class Persona
    {
    private:
    	std::string nome_;
    	std::string cognome_;
    	int eta_;
    
    public:
    	Persona(void);
    	Persona(std::string,std::string,int);
    	~Persona(void);
    	std::string getNome() const;
    	std::string getCognome() const;
    	int getEta() const;
    };
    
    #endif // PERSONA_H
    Persona.cpp
    codice:
    #include "Persona.h"
    #include <string>
    
    using namespace std;
    
    Persona::Persona(void)
    {
    	nome_ = "vuoto";
    	cognome_ = "vuoto";
    	eta_ = 0;
    }
    
    Persona::Persona(string nome, string cognome, int eta):
    nome_(nome), cognome_(cognome), eta_(eta)
    {
    }
    
    Persona::~Persona(void)
    {
    }
    
    string Persona::getCognome() const
    {
    	return cognome_;
    }
    
    string Persona::getNome() const
    {
    	return nome_;
    }
    
    int Persona::getEta() const
    {
    	return eta_;
    }
    Come faccio nel main ad inserire, ad esempio, 5 oggetti nello stack di tipo Persona e successivamente a stamparli?

  5. #5
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Lavorando con STL è sempre meglio mettere un costruttore di copia e un operatore di copia. (Che tra l'altro sono pure richiesti se non ricordo male.)
    Dopo puoi fare semplicemente.

    codice:
       stack<Persona> stk;
       std.push(Persona("A","B",10));
    Il resto lo ha spiegato pallinopinco.

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    98
    Ok grazie, adesso funziona anche così...

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.