Oppure

Loading
15/05/08 15:08
buzzicotta
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[i].leggi_lato();
}
}
mi da un errore alla prima parentesi del costruttore.inoltre dovrei farlo in multifile
help me..tank 1000:-?:d
Ultima modifica effettuata da buzzicotta 15/05/08 15:52
aaa
15/05/08 15:46
ruggy94
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++ :-|
aaa
15/05/08 15:51
buzzicotta
no quello l'ho già corretto..è perchè l'ho copiato dall'originale..:asd: corretto...
Ultima modifica effettuata da buzzicotta 15/05/08 15:52
aaa
15/05/08 16:28
gantonio
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 15/05/08 16:31
aaa
16/05/08 13:45
Amarath
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? :D
Ultima modifica effettuata da Amarath 16/05/08 13:46
aaa
16/05/08 20:01
gantonio
Postato originariamente da Amarath:

Per farlo multicalsse,


Non multiclasse ma multifile ...

( hader )


header

Ps, leggi lato senza parametri, mi dici come può assegnarti un valore, se nn glielo passi? :D


Il metodo leggi_lato fa l'input da tastiera del valore del lato ... non ha bisogno di parametri ...
aaa
16/05/08 20:29
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 :k: ), 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.
aaa
19/05/08 21:58
gantonio
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 :k: ), 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?
aaa