Newsgroup: it.comp.lang.c++
Titolo: Tutorial C++ (Cerco)

Salve vorrei un'informazione...
Sono un modesto programmatore in C e un neofilo del C++...
Ho 2 grossi problemi...
1 - Non ho ancora capito i vantaggi di quei " ++ ", dato che tutto quello
che riesco a fare in C lo riesco a fare anche in C++...
Il vero problema è che non ho capito bene cos'è una classe... a cosa
serve... Dal mio punto di vista una classe è una struct con dati che possono
essere modificati da funzioni (interne alla struttura!!)
Avrei bisogno di un bel Tutorial che mi faccia capire questi vantaggi, che
mi spieghi l'ereditarietà e tutte le altre cose che suppongo abbia ma non ho
ancora capito!!!
2 - Possiedo Visual C++ 4 della Microsoft acquistato con licenza studenti e
percio' privo di manuale.
Volevo sapere se per caso qualcuno mi sapesse indicare un sito dove spieghi
come viene strutturato il progetto... Che librerie servono per legare il
codice sorgente alle maschere disegnate?
Anche qui un bel tutorial on line sarebbe l'ideale...
Ringrazio tutti, CIAO
Alessandro
all...@tin.it

 ancora capito!!!
Ti servirebbe piu` che altro un tutorial sulla programmazione ad oggetti,
trovi qualcosa sul mio tutorial (vedi siti di C++warriors e the coder's
primer, basta fare una ricerca).
Comunque l'idea di fondo e` quella di fornire un nuovo approccio (o
visione) piu` vicina alla realta` di tutti i giorni.
L'idea (brevemente) e` che dati e procedure sui dati non sono cose
distinte e quindi anzicche` pensare sulla base di elementi passivi (i
dati) che vengono elaborati da elementi attivi (le procedure), si pensa
a strutturare un applicativo in termini di entita` attive che cooperano
tra loro per l'espletamento di un compito complessivo.
Puoi pensare agli oggetti come ai computer di una rete, alcuni forniscono
servizi (i server), altri li richiedono (i client) altri ancora fanno
un po' l'uno un po' l'altro.
In un simile contesto gli oggetti sono le istanze di una classe e la
main() diviene una sorta di semaforo che innesca e regola il processo di
comunicazione tra gli oggetti.
Esistono poi tutta una serie di estensioni che aumentano le potenzialita`
di questo paradigma di programmazione. Alcuni linguaggi ad esempio offrono
la possibilita` di avere oggetti che assumono e perdono dinamicamente
ruoli diversi (cosi` come una persona la mattina svegliandosi va a
lavorare, magari diviene un vigile assumendone le funzioni, poi alla fine
della giornata ritorna una normale persona e magari assume il ruolo do
padre...). In generale tutti i linguaggi offrono la possibilita` di
lavorare con oggetti polimorfi, ovvero oggetti che da un punto di vista
astratto si comportano allo stesso modo` e che quindi vengono trattati
tutti in modo uguale, anche se poi ognuno si comporta con sfumature
diverse legate alla propria natura (ad esempio puoi pensare di avere un
insieme di figure geometriche a cui comandare "disegnati", tu non sai se
sono tutti triangoli o quadrati oppure misti, ma questo e` un dettaglio di
cui non ti preoccupi perche` l'oggetto conosce la sua natura e sa come
deve disegnarsi. 
saluti,
Paolo
-- 
------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
 
http://www.cli.di.unipi.it/~marotta
------------------------------------------------

 tra loro per l'espletamento di un compito complessivo.
A questo proposito.. concordo con la tua definizione (sono piu' o meno le
stesse parole che usavo io nei corsi per chi arrivava dal procedurale! :), ma
non mi pare si trovi granche' in letteratura una netta distinzione tra
- oggetti propriamente 'attivi' (chiamiamoli attori);
- oggetti che, certo, impacchettano in un'unica confezione stato (o attributi
che dir si voglia) e servizi, usando l'information hiding per nascondere le
implementazioni, *ma* stanno li' in attesa che qualcuno ne richieda i servizi!
Il secondo tipo e' quello canonicamente presentato come oggetto (e, ad
esempio, direttamente specificabile in linguaggi OO), ma in realta' a me pare
che possa essere visto come un caso particolare del primo: un attore potrebbe
essere definito come una tripla <processo, stato, servizi>, e una classe un
attore il cui processo e' "nullo". Cosi' come un oggetto e' un'istanza di una
classe in cui lo stato e' valorizzato, allo stesso modo un 'istanza di un
attore' (si dovrebbe inventare un nome adatto..) sara' un oggetto il cui
processo e' in esecuzione.
Anche un linguaggio come Java, nato piu' recentemente di C++, incapsula questa
nozione piuttosto obliquamente mediante l'idea di "Thread" - una classe
"particolare" perche' un metodo (creativamente chiamato "run") specifica
esattamente il processo.
Con l'avanzare di sistemi distribuiti (o anche solo dei sistemi 'server') e
'attivi', ho la sensazione che chiarire (o anche solo discutere) quest'idea
diventi sempre piu' importante.. magari arrivando un domani ad avere un
linguaggio che ne permetta la dichiarazione direttamente mediante un'opportuna
sintassi.
--
God is Real, unless declared Integer
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/
       Search, Read, Discuss, or Start Your Own    

...
Ciao,
puoi trovare un buon tutorial C++, Thinking in C++, che ti spiega sia la
programmazione ad oggetti che il C++ (e le differenze tra C e C++) su
 
http://www.bruceeckel.com
Un buon sito sulla programmazione Visual C++ e'
 
http://www.codeguru.com
Ciao ciao

processo e' in esecuzione.
A questo punto temo di non riuscire piu` a seguirti...
io utilizzo il termine attore per indicare che un certo oggetto puo` assumere
comportamenti diversi (sia che prenda e/o ceda dinamicamente ruoli, o
che si tratti del classico oggetto polimorfo).
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------

che si tratti del classico oggetto polimorfo).
Momento - io avevo giusto *definito* <attore> :)... (tra parentesi, pensavo 
agli "actors") E, disgraziatamente :), uso di solito due termini differenti 
per l'assunzione di ruolo e il comportamento polimorifico! Ancora, nessun 
problema, basta capirsi.
Hmmm.. quando ho qualcosa di piu' formale (e di conseguenza piu' chiaro.. :) 
ci torno sopra!
-cs

differentemente questi due "tipi" di oggetti.
Se non ricordo male su CP di qualche mese fa c'e` un articolo che
potrebbe interessarti (e che in effetti, interessante lo e`) vedo di
scovare in quale numero e` stato pubblicato e ti faccio sapere.
Saluti,


On 8 May 1999 14:17:45 GMT, 
crs...@tin.it
 (Cristiano Sadun) wrote:
L'articolo di cui al mio precedente post e` stato
pubblicato su Computer Programming 65 ed e`
"Oggetti e thread" di C. Pescio
(eventualmente vedi se e` disponibile alla sua
home page: 
http://www.programmers.net/artic/Pescio
)
L'articolo come dice il titolo parla di multithreading nella OOP.


>
-----------------------
Perche guardare la marcuzzi?
Semplice costa meno dell'eroina ed e legale!
GYps!