Login

Guida C++

Sezione dedicata alle guide e ai problemi riguardanti la programmazione in C++
  • Autore
    Messaggio

Guida C++

Messaggioda Sbarabau » 09/08/2012, 11:26

Come è facile intuire, il linguaggio C++ nasce come 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.

Il notevole valore aggiunto del C++ è la programmazione orientata agli oggetti, che rende questo linguaggio una piattaforma ideale per realizzare progetti di grosse dimensioni favorendo l’astrazione dei problemi e l’uso dei modelli di programmazione più moderni.

L’obiettivo di questa guida non è tanto quello di fornire una descrizione approfondita di tutte le potenzialità della programmazione ad oggetti, ma più semplicemente quello di fornire una panoramica sul C++ che permetta rapidamente di essere pronti a scrivere applicazioni. Successivamente sarà inoltre possibile approfondire le proprie conoscenze attraverso altre guide.
Avatar utente
Sbarabau
Amministratore
 
Messaggi: 95
Iscritto il: 06/08/2012, 18:48


Messaggioda Sbarabau » 09/08/2012, 11:39

Cos’è la programmazione ad oggetti?

La programmazione orientata agli oggetti (OOP, Object Oriented Programming) è un paradigma di programmazione che permette di definire oggetti software in grado di interagire gli uni con gli altri attraverso lo scambio di messaggi. È particolarmente adatta nei contesti in cui si possono definire delle relazioni di interdipendenza tra i concetti da modellare (contenimento, uso, specializzazione). Un ambito che più di altri riesce a sfruttare i vantaggi della programmazione ad oggetti è quello delle interfacce grafiche.

Alcuni vantaggi della programmazione orientata agli oggetti:
  • fornisce un supporto naturale alla modellazione software degli oggetti del mondo reale o del modello astratto da riprodurre
  • permette una più facile gestione e manutenzione di progetti di grandi dimensioni
  • l’organizzazione del codice sotto forma di classi favorisce la modularità e il riuso del codice

_____________________________________________________________________________________________________________________________________________________________________________________

L'ambiente di sviluppo

Dev-C++ di Bloodshed è un IDE leggero, sufficiente per seguire questa guida e piuttosto aderente agli standard, fornisce un frontend per gcc, il compilatore open source per eccellenza.
Scaricate quindi Dev-C++ tramite il seguente link e installatelo: http://www.bloodshed.net/devcpp.html

Una volta installato, cerchiamo di capire come iniziare a creare i propri programmi:
  • Andare in “File –> Nuovo –> Progetto”
  • Selezionare “Console Application”, dare un nome al progetto, impostare il linguaggio su C++ e cliccare su OK
  • Dopo aver scritto il codice sorgente del programma, per lanciare la compilazione ed eseguire il programma possiamo andare in “Esegui –> Compile ed Esegui” o semplicemente premere F9

_____________________________________________________________________________________________________________________________________________________________________________________

Il primo programma e gli elementi fondamentali

Dopo aver creato un nuovo progetto, inserire il seguente codice nel source del programma:
Codice: Seleziona tutto
// main.cpp
// Il primo esempio in C++
#include <iostream>
intmain(intargc, char*argv[])
{
   std::cout << "Ciao Mondo";
   return 0;
}

Compilare e infine eseguire il programma. Se tutto è andato per il verso giusto, dovrebbe apparire una piccola console al cui interno è presente la scritta “Ciao Mondo”.
Se qualcosa è invece andato storto, l’applicazione non si avvierà e il compilatore indicherà le righe di codice in cui sono stati riscontrati degli errori.
In ogni caso, questa piccola porzione di codice contiene già numerose novità… vediamole una alla volta.

_____________________________________________________________________________________________________________________________________________________________________________________

I commenti

Codice: Seleziona tutto
// main.cpp
// Il primo esempio in C++


Ogni programma ben realizzato dovrebbe includere dei commenti, per garantire una manutenzione agevole del codice: spesso capita di dover modificare codice altrui, oppure di dover riprendere in mano del vecchio codice e ricordarne il funzionamento. Per questo scrivendo un commento è utile non dare tutto troppo per scontato.

In C++ una linea di codice commentata è preceduta dalla doppia barra //.

Esiste, anche un secondo tipo di commento: il commento a blocchi, ereditato dal C. In questo caso, un commento inizia con i simboli /* e termina con i simboli */. La differenza sostanziale è che il commento a blocchi permette di commentare più linee di codice senza dover ripetere ad ogni linea i simboli del commento stesso.

I due tipi di commenti sono assolutamente intercambiabili. Se c’è necessità di commentare parecchie linee di codice consecutive è conveniente ricorrere al commento a blocchi.

_____________________________________________________________________________________________________________________________________________________________________________________

#include

L’istruzione:
Codice: Seleziona tutto
#include <iostream>

Rappresenta una delle funzionalità tipiche del C++, nota come istruzione per il preprocessore. Una istruzione per il preprocessore è, fondamentalmente, una istruzione di precompilazione.

#include in C contiene un richiamo ai file di intestazione (header con estensione .h) delle librerie che utilizziamo. Nello standard C++ si omette l’estensione, per questo troviamo, tra parentesi angolari, “iostream” e non “iostream.h“

_____________________________________________________________________________________________________________________________________________________________________________________

main

Dopo l’istruzione #include si trova la dichiarazione della funzione main():
Codice: Seleziona tutto
main()
{
   // ... codice

   return 0;
}


Ogni programma C++ ha al suo interno una sequenza di operazioni e di funzioni. Tutti i programmi C++ devono contenere una funzione chiamata main(). Tale funzione rappresenta il punto di inizio dell’esecuzione del programma che termina con l’istruzione return 0.

Possiamo prevedere che il nostro programma prenda in ingresso degli argomenti (eg. dalla riga di comando). Possiamo utilizzare questi argomenti esterni grazie alle variabili:
  • int argc – ARGuments Counter – è un valore intero che indica il numero di argomenti presenti
  • char *argv[] – ARGuments Vector – è un array di stringhe che contiene i valori degli argomenti

Le parentesi graffe { e } contengono blocchi di istruzioni. I blocchi di istruzioni possono consistere nella definizione del corpo di una funzione (come accade nel nostro caso per la funzione main() ) oppure nel riunire più linee di codice che dipendono dalla stessa istruzione di controllo, come nel caso in cui diverse istruzioni vengono eseguite a seconda dela validità o meno del test di un’istruzione.

_____________________________________________________________________________________________________________________________________________________________________________________

using e namespace

Le classi delle librerie sono definite anche nel namespace std che viene aggiunto come prefisso all’operatore cout nel nostro caso:
Codice: Seleziona tutto
std::cout << "Ciao Mondo";


Possiamo richiamare le stesse classi e operatori utilizzando la direttiva using e il namespace std:
Codice: Seleziona tutto
// main.cpp
// Il primo esempio in C++
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
   cout << "Ciao Mondo";
   return 0;
}
Avatar utente
Sbarabau
Amministratore
 
Messaggi: 95
Iscritto il: 06/08/2012, 18:48

Re: Guida C++

Messaggioda doublechar » 10/08/2012, 17:56

Non è una guida, è un semplice "hello world".
doublechar
Utente
 
Messaggi: 4
Iscritto il: 10/08/2012, 17:54

Re: Guida C++

Messaggioda Sbarabau » 10/08/2012, 18:02

th1sk ha scritto:Non è una guida, è un semplice "hello world".

La guida non è finita xD
Avatar utente
Sbarabau
Amministratore
 
Messaggi: 95
Iscritto il: 06/08/2012, 18:48

Re: Guida C++

Messaggioda doublechar » 10/08/2012, 18:13

Sbarabau ha scritto:
th1sk ha scritto:Non è una guida, è un semplice "hello world".

La guida non è finita xD

Sbrigati a finirla allora :asd: (e metti le emoticon decenti)
doublechar
Utente
 
Messaggi: 4
Iscritto il: 10/08/2012, 17:54

Acquistare Kamagra Miglior Sito Lukwamn

Messaggioda Lukwamn » 10/02/2018, 7:57

Lieu Sр“в»r D'Acheter Priligy cialis price Saint Amoxicillin Dosage For Kittens
Viagra Generika Levitra Propecia Woman Mujeres Y Viagra cialis price Cialis Generico Alta Qualita Sueno Propecia Kamagra Quoka
Lukwamn
Utente
 
Messaggi: 527
Iscritto il: 27/01/2018, 8:41
Località: Luxembourg

Stendra Sale Lukwamn

Messaggioda Lukwamn » 12/02/2018, 17:25

Ciprofloxacin And Amoxicillin Taken Together Will Keflex Cure Syphilis Typical Cost Of Amoxicillin cialis Cephalexin Diarreah Magic Pharmacy Online Usa 67
Viagra Generika Levitra Propecia Woman Mujeres Y Viagra cialis price Cialis Generico Alta Qualita Sueno Propecia Kamagra Quoka
Lukwamn
Utente
 
Messaggi: 527
Iscritto il: 27/01/2018, 8:41
Località: Luxembourg

Kamagra Portugal Lukwamn

Messaggioda Lukwamn » 17/02/2018, 7:09

Buy Viagra Without Prescription' Viagra Ventajas E Inconvenientes Side Effect Of Keflex In Dogs generic cialis Purchase Tamoxifen Buying Viagra Outside Usa Comparatif Viagra Et Cialis
Viagra Generika Levitra Propecia Woman Mujeres Y Viagra cialis price Cialis Generico Alta Qualita Sueno Propecia Kamagra Quoka
Lukwamn
Utente
 
Messaggi: 527
Iscritto il: 27/01/2018, 8:41
Località: Luxembourg

Pharmacy Uk Silagra Lukwamn

Messaggioda Lukwamn » 17/02/2018, 7:12

Cual Es La Mejor Viagra Achat Cialis Express Finasteride Vs Propecia Androgenetic Alopecia cialis Cealis On Line Buy Viagra Online In Francia Efectos Viagra Largo Plazo
Viagra Generika Levitra Propecia Woman Mujeres Y Viagra cialis price Cialis Generico Alta Qualita Sueno Propecia Kamagra Quoka
Lukwamn
Utente
 
Messaggi: 527
Iscritto il: 27/01/2018, 8:41
Località: Luxembourg

Torna a C++

Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti