Newsgroup: it.comp.lang.c++
Titolo: Chiedo aiuto per esame di programmazione

Una mia amica è disperata perché deve prepararsi all'esame di programmazione
con il testo (qui sotto riportato) che le è stato fornito.
Potete contattarla all'indirizzo e-mail 
uou...@libero.it
 . Grazie, lei vi
sarà riconoscente.
Terzo Progetto Laboratorio di Programmazione 1999-2000
consegna progetto: 30 Agosto 2000
Tema:
Implementazione della classe per rappresentare i rettangoli e di una classe
per rapresentare i quadrilateri (ed ogni altra classe di supporto
eventualmente necessaria).
Le funzionalità minime da implementare sono:
  1.. costruttori, distruttori e operatori necessari per il buon
funzionamento delle classi;
  2.. operatori più comuni per le operazioni fra elementi delle classi (es.
test uguaglianza, disuguaglianza, contenimento etc);
  3.. metodi per il calcolo del perimetro, area,  e minimo rettangolo
contenente la figura;
N.B. Le classi NON devono visualizzare niente ma solo fornire metodi per
calcolare i perimetri, aree etc.
Consultare spesso questa pagina per eventuali notizie riguardo il progetto
Lista delle dichiarazioni corrette di alcuni operatori C++ per una classe
generica:
const <classe>& operator=(const <classe> & a) // assegnamento
const <classe>& operator+=(const <classe> & a) // assegnamento con somma
const  <classe>& operator-=(const <classe>& a) // assegnamento con
sottrazione
const <classe>& operator*=(const <classe>& a) // assegnamento con prodotto
const <classe>& operator/=(const <classe>& a) file://assegnamento con
divisione
const <classe>& operator%=(const <classe>& a) // assegnamento con modulo
bool operator==(const <classe>& a) const // test uguaglianza
bool operator<=(const <classe>& a) const // test minore o uguale
bool operator>=(const <classe>& a) const // test maggiore o uguale
bool operator<(const <classe>& a) const // test minore
bool operator>(const <classe>& a) const // test maggiore
bool operator!=(const <classe>& a) const // test disuguaglianza
<classe> operator+(const <classe>& a) const // somma
<classe> operator-(const <classe>& a) const file://sottrazione
<classe> operator*(const <classe>& a) const file://moltiplicazione
<classe> operator/(const <classe>& a) const file://divisione
<classe> operator%(const <classe>& a) const file://modulo
<classe> operator+(void) const // funzione identita'
<classe> operator-(void) const // funzione cambio segno
Non è necessario implementare tutti gli operatori di sopra, ma solo quelli
che si ritiene necessari per il funzionamento della classe. Inoltre, altri
operatori possono essere implementati cambiandone l'usuale significato. Ad
esempio l'operatore ^ che denota l'or esclusivo, può essere ridefinito per
rappresentare l'elevamento a potenza e in questo caso la dichiarazione
dell'operatore diventa:
<classe> operator^(int i)const // elevamento di un oggetto della classe ad
un esponente intero
Inoltre le dichiarazioni di sopra sono relative alle dichiarazioni degli
operatori come metodi della classe <classe>. Nel caso si vogliano
implementare come funzioni, bisogna aggiungere un parametro ad ogni
dichiarazione di sopra. Per esempio:
<classe> operator+(const <classe>& t, const <classe>& a);
Come abbiamo visto a lezione la redifinizione dell'operatore << per
visualizzare su uno stream di output deve essere fatta come funzione e con
la seguente dichiarazione:
ostream& operator<<(ostream & stream, const <classe>& a);


[..]
La tua amica potrebbe cominciare con il leggere un buon libro sul C++ (vedi le FAQ del gruppo).
Il programma è molto semplice.
Manlio Perillo


<snip>
Ma e' mai possibile che chi deve prepararsi ad un esame non abbia
voglia di documentarsi, studiare, sbatterci le corna e POI fare le
domande agli "esperti"? Che diavolo di domanda e' : "devo prepararmi 
all'esame di programmazione...."?
COme gia' stato detto, guarda che i professori leggono i newsgroup. E
non si lasciano ingannare dalla fantomatica "amica"... Certo, riuscirai
(forse) a non farti individuare, ma al prezzo di prendere tutti noi per
i fondelli! 
Studia, e' meglio!
Guido

 i fondelli!
Oltre ai professori, ci sono anche persone che hanno voce in capitolo
sulla scelta di chi assumere nelle ditte dove lavorano. La figura di
fannullone/scroccone puo' ritorcersi contro l'interessato/a in modo
inaspettato.
Ciao,
Nicola

Vorrei precisare che io non ho niente a che fare con la programmazione,
tanto meno non cerco lavoro perché ne ho già uno che non ha niente a che
fare con la programmazione e faccio solo questo perché è un'amica che è un
pò imbranatella con i newsgroup.
Quindi se qualcuno volesse aiutarla....Grazie.
E' anche carina!

Gią il tuo nome č tutto un "programma".
Comunque era la prima volta che accedevo ad un newsgroup di programmazione
visto che a me proprio non interessa e dopo la tua risposta ho capito che
questo settore č pieno di invidiosi, egoisti, gente spietata che non vuole
far altro che i propri interessi. Spero che non ti capiti prima o poi che ti
prenda fuoco il culo e aver bisogno di qualcuno.


Mi sembra ingiusto quello che stai dicendo.
In questo newsgroup ci sono persone molto disponibili.
Il problema è che tu  stai chiedendo di farti fare un programma!
Se invece la tua amica avesse almeno abbozzato il programma e
si trovasse in difficoltà in qualche punto la cosa sarebbe diversa.
Manlio Perillo

Infatti devo dire che tu Perillo 6 stato l'unico ad aver provato a suggerire
qualcosa. Il fatto è che io non ho fatto altro che inserire nel mess. il
testo che la mia amica mi ha passato. Quello che contiene io non ci capisco
assolutamente niente, non so se sia una cazzata, un problema serio, se è
imbranata lei o cos'altro. Comunque le riferirò quello che hai giustamente
detto.grazie.

 questo settore č pieno di invidiosi, egoisti, gente spietata che non vuole
