Visualizzazione dei risultati da 1 a 10 su 14

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Non si tratta di "sgridare" nessuno, ma se ti dico di studiare i vector e mi rispondi che li conosci, non puoi fare certe domande ...

    Comunque, dai un'occhiata a queste righe d'esempio da cui prendere spunto ...

    codice:
    	vector<Poligono *> poligoni;
     
    	Triangolo *t = new Triangolo();
    	
    	poligoni.push_back(t);
     
    	for(unsigned int i=0; i<poligoni.size();i++)
    	{
    		double a=poligoni[i]->calcolaArea();
    		cout << a << endl;
    	}
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    84
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Non si tratta di "sgridare" nessuno, ma se ti dico di studiare i vector e mi rispondi che li conosci, non puoi fare certe domande ...

    Comunque, dai un'occhiata a queste righe d'esempio da cui prendere spunto ...

    codice:
        vector<Poligono *> poligoni;
     
        Triangolo *t = new Triangolo();
        
        poligoni.push_back(t);
     
        for(unsigned int i=0; i<poligoni.size();i++)
        {
            double a=poligoni[i]->calcolaArea();
            cout << a << endl;
        }

    Li sto rivedendo dopo tanto tempo, chiedo scusa.
    Il problema è che a me se si tratti di Triangolo, Rettangolo o Quadrato lo dice un RadioGroup..quindi non posso fare direttamente push_back(t)

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Quote Originariamente inviata da user1989 Visualizza il messaggio
    Li sto rivedendo dopo tanto tempo, chiedo scusa.
    Il problema è che a me se si tratti di Triangolo, Rettangolo o Quadrato lo dice un RadioGroup..quindi non posso fare direttamente push_back(t)
    Il pushback inserisce il nuovo puntatore nel vector, non c'entra nulla con la questione che dici tu ...

    Come fai adesso ad istanziare il poligono della classe corretta in base alla scelta con il button?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    84
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Il pushback inserisce il nuovo puntatore nel vector, non c'entra nulla con la questione che dici tu ...

    Come fai adesso ad istanziare il poligono della classe corretta in base alla scelta con il button?
    Non lo faccio ancora... mi imposto il tipo:
    codice:
     p.setTipo(RadioGroup->ItemIndex);
    0 se è Triangolo, 1 Rettangolo, 2 Quadrato...

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Quote Originariamente inviata da user1989 Visualizza il messaggio
    Non lo faccio ancora... mi imposto il tipo:
    codice:
     p.setTipo(RadioGroup->ItemIndex);
    0 se è Triangolo, 1 Rettangolo, 2 Quadrato...
    Quindi

    Poligono *p;

    se tipo == 0 allora p=new Triangolo();
    se tipo == 1 allora p=new Rettangolo();
    se tipo == 2 allora p=new Quadrato();


    poligoni.push_back(p);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    84
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Quindi

    Poligono *p;

    se tipo == 0 allora p=new Triangolo();
    se tipo == 1 allora p=new Rettangolo();
    se tipo == 2 allora p=new Quadrato();


    poligoni.push_back(p);

    Grazie mille, ho fatto ma mi dice : could not find a match for operator Poligono::=(Triangolo)....
    Eppure l'ho fatto l'overloading dell operatore =

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Quote Originariamente inviata da user1989 Visualizza il messaggio
    Grazie mille, ho fatto ma mi dice : could not find a match for operator Poligono::=(Triangolo)....
    Eppure l'ho fatto l'overloading dell operatore =
    Guarda che devi lavorare con i puntatori ...

    Poligono *p;

    anche nel vector

    vector<Poligono*> poligoni;


    Ma poi che c'entra ... le classi sono tutte derivate da Poligono?
    Ultima modifica di oregon; 22-07-2016 a 16:55
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Tag per questa discussione

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 © 2025 vBulletin Solutions, Inc. All rights reserved.