Bacheca del forum

Nuova amministrazione: tanti ranghi in più,
lo staff



Guida] Al C/C++ (( Parte 1b ))


You are not connected. Please login or register

View previous topic View next topic Go down  Message [Page 1 of 1]

Guida] Al C/C++ (( Parte 1b ))  Empty Guida] Al C/C++ (( Parte 1b )) Sun Aug 14, 2011 4:53 pm

Pubblicato da: Spacca
     Spacca
Spacca
Staff d'Amministrazione
Staff d'Amministrazione


Ciao,
INTRODUZIONE
Come e' facile intuire, il linguaggio C++ è un'estensione del linguaggio C. In particolare, il C++ conserva tutti i punti di forza del C, come la potenza e la flessibilità di gestione dell'interfaccia hardware e software, la possibilità di programmare a basso livello e l'efficienza, l'economia e le espressioni, tipiche del C. Ma, in più, il C++ introduce il dinamico mondo della programmazione orientata agli oggetti che rende tale linguaggio una piattaforma ideale per l'astrazione dei problemi di alto livello.

Il C++ fonde, quindi, i costrutti tipici dei linguaggi procedurali standard, familiari per molti programmatori, con il modello di programmazione orientata agli oggetti, che può essere pienamente sfruttato per produrre soluzioni completamente orientate agli oggetti di un determinato problema. In pratica, una applicazione C++ riflette questa dualità incorporando sia il modello di programmazinoe procedurale che il modello di programmazione orientato agli oggetti.

Questa guida al C++ si rivolge a chi si volge allo straordinario mondo della programmazione per la prima volta o, anche, a chi ha desiderio di rispolverare qualche concetto non troppo chiaro. L'obiettivo, in ogni caso, non è certamente quello di fornire una descrizione approfondita di tutte le potenzialità della programmazione ad oggetti ma, più semplicemente, quello di fornire al programmatore una panoramica del C++ che lo renda presto in grado di scrivere applicazioni funzionanti

LA STORIA DEL C++
Non dovrebbe sorprendere più di tanto il fatto che il C++ abbia un'origine simile al C. Lo sviluppo del linguaggio C++ all'inizio degli anni Ottanta è dovuto a Bjarne Stroustrup dei laboratori Bell (Stroustrup ammette che il nome di questo nuovo linguaggio è dovuto a Rick Mascitti). Originariamente il C++ era stato sviluppato per risolvere alcune simulazioni molto rigorose e guidate da eventi; per questo tipo di applicazione la scelta della massima efficienza precludeva l'impiego di altri linguaggi.

Il linguaggio C++ venne utilizzato all'esterno del gruppo di sviluppo di Stroustrup nel 1983 e, fino all'estate del 1987, il linguaggio fu soggetto a una naturale evoluzione.

Uno degli scopi principali del C++ era quello di mantenere piena compatibilità con il C. L'idea era quella di conservare l'integrità di molte librerie C e l'uso degli strumenti sviluppati per il C. Grazie all'alto livello di successo nel raggiungimento di questo obiettivo, molti programmatori trovano la transizione al linguaggio C++ molto più semplice rispetto alla transizione da altri linguaggi (ad esempio il FORtrAN) al C.

Il C++ consente lo sviluppo di software su larga scala. Grazie a un maggiore rigore sul controllo dei tipi, molti degli effetti collaterali tipici del C, divengono impossibili in C++.

Il miglioramento più significativo del linguaggio C++ è il supporto della programmazione orientata agli oggetti (Object Oriented Programming: OOP), Per sfruttare tutti i benefici introdotti dal C++ occorre cambiare approccio nella soluzione dei problemi. Ad esempio, occorre identificare gli oggetti e le operazioni ad essi associate e costruire tutte le classi e le sottoclassi necessarie.

La Programmazione ad Oggetti
La programmazione ad oggetti è ormai affermata e trova sempre maggiore successo nell'ambito della progettazione e dello sviluppo del software. La programmazione ad oggetti rappresenta un modo di pensare in modo astratto ad un problema, utilizzando concetti del mondo reale piuttosto che concetti legati al computer. In tal modo si riescono a comprendere meglio i requisiti dell'utente, si ottengono dei progetti più chiari e ne risultano sistemi software in cui la manutenzione è decisamente più facile. Gli oggetti costituiscono il costrutto fondamentale di tale filosofia. Un oggetto è una singola entità che combina sia strutture dati che comportamenti: i dati sono visti come variabili e le procedure per accedere ai dati sono viste come metodi (le "vecchie" funzioni).

Gli oggetti, in sostanza, possono essere visti come dei mattoni che possono essere assemblati e che hanno un alto potenziale di riutilizzo. Infatti uno dei benefici principali ed uno dei motivi per cui è stata sviluppata la programmazione ad oggetti è proprio quello di favorire il riutilizzo del software sviluppato.

In seguito, in questa guida, approfondiremo il concetto di programmazione orientata agli oggetti.

MIGLIORAMENTI RISPETTO AL C
Le sezioni che seguono indicano i miglioramenti di lieve entità (che non hanno nulla a che fare con gli oggetti) rispetto al linguaggio C.

Commenti
Il C++ introduce il delimitatore di "commento fino a fine riga" //. Viene però conservato l'uso dei delimitatori /* e */.

Nome delle enumerazioni
Il nome delle enumerazioni è un nome di tipo. Questa possibilità semplifica la notazione poiché non richiede l'uso del qualificatore enum davanti al nome di un tipo enumerativo.

Nomi delle classi
Il nome di una classe è un nome di tipo. Questo costrutto non esiste in C. In C++ non è necessario usare il qualificatore class davanti ai nomi rispettivamente delle classi.

Dichiarazioni di blocchi
Il C++ consente l'uso di dichiarazioni all'interno dei blocchi e dopo le istruzioni di codice. Questa possibilità consente di dichiarare un identificatore più vicino al punto in cui viene utilizzato per la prima volta. È perfino possibile dichiarare l'indice di un ciclo all'interno del ciclo stesso.

Operatore di qualifica della visibilità
L'operatore di qualifica della visibilità :: (detto anche operatore di scope) è un nuovo operatore utilizzato per risolvere i conflitti di nome. Ad esempio, se una funzione ha una dichiarazione locale della variabile vettore ed esiste una variabile globale vettore, il qualificatore ::vettore consente di accedere alla variabile globale anche dall'interno del campo di visibilità della variabile locale. Non è possibile l'operazione inversa.

Lo specificatore const
Lo specificatore const consente di bloccare il valore di un'entità all'interno del suo campo di visibilità. È anche possibile bloccare i dati indirizzati da una variabile puntatore, l'indirizzo di un puntatore e perfino l'indirizzo del puntatore e dei dati puntati.

Overloading delle funzioni
In C++, più funzioni possono utilizzare lo stesso nome; la distinzione si basa sul numero e sul tipo dei parametri.

Valori standard per i parametri delle funzioni
È possibile richiamare una funzione utilizzando un numero di parametri inferiori rispetto a quelli dichiarati. I parametri mancanti assumeranno valori di standard.

Gli operatori new e delete
Gli operatori new e delete lasciano al programmatore il controllo della allocazione e della deallocazione della memoria dello heap.
GUIDA BY Lertix.com
Don't R.I.P

bye,
il team


http://Puro100x100.co.cc

Advertising poster


Ciao,
Vuoi entrare nel nostro staff? è semplice segui le procedure illustrate

Vai al Seguente link (clicca) e segui i post guida

Mi raccomando! ti aspettiamo...
Lo staff d'animazione


View previous topic View next topic Back to top  Message [Page 1 of 1]

Permissions in this forum:
You cannot reply to topics in this forum



Unauthorised copying, reproduction, rental, public performance or broadcast of this website and of his content is a violation of applicable laws
– © 2011 Puro100x100 inc. All rights reserved. All trademarks are the property of their respective owners
qui

Free forum | ©phpBB | Free forum support | Report an abuse | Forumotion.com