buzzicotta (Normal User)
Newbie
Messaggi: 12
Iscritto: 15/05/2008
|
ciao raga..i have a problem..ho da fare un progetto..la traccia è:
Creare una classe quadrato contenente la variabile membro lato e le funzioni membro per il
calcolo dell’ area e del perimetro Dati in input il lato di quattro quadrati, determinare il
quadrato più esteso, specificando se ha anche il perimetro maggiore.
la mia possibile soluzione è:
class quadrato
{
private:
int lato;
public:
quadrato();
void leggi_lato();
int perimetro();
int area();
}
quadrato::quadrato()
{
lato=0;
}
void leggi_lato()
{
cin>>lato;
}
int quadrato::perimetro()
{
return lato*4;
}
int quadrato::area()
{
return lato*lato;
}
int main()
{
quadrato q[4];
for(int i=0;i<4;i++)
{
cout<<"lato del quadrato numero "<<i;
q.leggi_lato();
}
}
mi da un errore alla prima parentesi del costruttore.inoltre dovrei farlo in multifile
help me..tank 1000
Ultima modifica effettuata da buzzicotta il 15/05/2008 alle 17:52 |
|
ruggy94 (Member)
Guru
Messaggi: 890
Iscritto: 21/04/2008
|
Postato originariamente da buzzicotta:
int quadrato::permitro()
|
Io non capisco niente di C/C++ ma così leggendo ho visto che hai scritto permitro invece di perimetro.
Non so se sia questa la causa dell'errore: ripeto non so il C/C++ |
|
buzzicotta (Normal User)
Newbie
Messaggi: 12
Iscritto: 15/05/2008
|
no quello l'ho già corretto..è perchè l'ho copiato dall'originale.. corretto...
Ultima modifica effettuata da buzzicotta il 15/05/2008 alle 17:52 |
|
gantonio (Normal User)
Guru^2
Messaggi: 1532
Iscritto: 09/09/2007
|
1) Manca il ; alla fine della dichiarazione della classe
2) manca il nome della classe quadrato:: in
void leggi_lato()
3) quando usi il metodo leggi_lato, ricorda che hai un vettore di oggetti e non un solo oggetto. Quindi non deve essere
q.leggi_lato();
ma
q[ i ].leggi_lato();
Ultima modifica effettuata da gantonio il 15/05/2008 alle 18:31 |
|
Amarath (Normal User)
Pro
Messaggi: 85
Iscritto: 08/05/2008
|
Per farlo multicalsse, devi fare un file nomeclasse.h ( hader ) e ci metti l'interfaccia della classe, un file nomeclasse.cpp e ci metti le implementazioni della classe , e nel main ti richiami l'header
Ps, leggi lato senza parametri, mi dici come può assegnarti un valore, se nn glielo passi?
Ultima modifica effettuata da Amarath il 16/05/2008 alle 15:46 |
|
gantonio (Normal User)
Guru^2
Messaggi: 1532
Iscritto: 09/09/2007
|
Postato originariamente da Amarath:
Per farlo multicalsse, |
Non multiclasse ma multifile ...
header
Ps, leggi lato senza parametri, mi dici come può assegnarti un valore, se nn glielo passi? |
Il metodo leggi_lato fa l'input da tastiera del valore del lato ... non ha bisogno di parametri ... |
|
Amarath (Normal User)
Pro
Messaggi: 85
Iscritto: 08/05/2008
|
chiedo scusa per i due errori di battitura ( credevo fossero ovvio che erano errori, nn era necessario sottolinearli, cmq credo lo hai fatto senza malizia ), ovviamente intendevo mulifile e header
Per il discorso della funzione, non è specificato che la funzione chieda di per se il lato, e buttata cosi, mi è sembrata più una funzione per accedere alla struttura dati, per questo chiedevo del paramentro.
|
|
gantonio (Normal User)
Guru^2
Messaggi: 1532
Iscritto: 09/09/2007
|
Postato originariamente da Amarath:
chiedo scusa per i due errori di battitura ( credevo fossero ovvio che erano errori, nn era necessario sottolinearli, cmq credo lo hai fatto senza malizia ), ovviamente intendevo mulifile e header |
Ma che malizia ... lo faccio sempre e solo perche' chi ha fatto una domanda non sa se quello che si risponde e' corretto o e' un errore di battitura ...
Per il discorso della funzione, non è specificato che la funzione chieda di per se il lato, e buttata cosi, mi è sembrata più una funzione per accedere alla struttura dati, per questo chiedevo del paramentro. |
Scusa ma e' evidente che la funzione accetta il lato con
cin>>lato;
e che e' stata scelta questa strada ... perche' deve seguirne un'altra? |
|
biricchina1234 (Normal User)
Newbie
Messaggi: 9
Iscritto: 08/05/2008
|
we io ho lo stesso tuo problema con il vettore mi da sempre errore..se riesci a risolverlo dammi un consiglio.....
|
|