Classi in C++



Scaricare 15.43 Kb.
30.12.2017
Dimensione del file15.43 Kb.

Classi in C++

Le classi sono un particolare tipo di variabili; sono molto simili alle strutture in C; la differenza tra classi e strutture è che i membri delle prime sono per default private mentre, i membri delle strutture sono public.

Le classi, come le strutture, sono un’astrazione logica. Con il termine classe, intendiamo identificare una particolare variabile che ha determinate caratteristiche e svolge determinate azioni.

La parola chiave della classe è class, la parola chiave di struttura è struct.

Le variabili delle classi sono raggruppate nelle seguenti categorie: public, private, protected.

Una classe può essere dichiarata all’interno del file contenente il main oppure, in un file con estensione .h

Creare una classe o classificare è quindi un processo di astrazione che consiste nella organizzazione dei dati di un’applicazione in classi di oggetti che hanno proprietà comuni ed esistenza autonoma (Dipartimento, Impiegato, Acquisto, Vendita,…)

Vantaggi:



gruppi di progetto (le realizzazioni dei moduli sono

indipendenti l'una dall'altra)



con benefici su:

  • verifica di correttezza (è più facile isolare eventuali errori);

  • riusabilità;

Es:

class myclass{

public:

int a;


float b;

double prod();

};

Da notare:



  • abbiamo specificato che la variabile è public

  • la classe inizia con la graffa e finisce con la graffa e il punto e virgola.

Per specificare la funzione membro:

double myclass::prod(){return a*b;}

Le variabili sono detti membro, le funzioni sono dette metodi.

Adesso, bisogna creare l’oggetto, cioè il caso specifico della classe; bisogna cioè bisogna creare un’istanza.

L’istanza si crea nel main

#include

main(){

myclass prova; // questa è l’operazione di istanza e l’oggetto specifico si



//chiama prova

cout<<”inserisci la prima variabile”;

cin>>prova.a;

cout<<”inserisci la seconda variabile”;

cin>>prova.b;

cout<<”il risultato è:”<

system(“PAUSE”);

return 0;

}

La funzione metodo poteva essere scritto nella classe stessa e il main non cambiava:



class myclass{

int a;


float b;

public:


double prod(){return a*b;}

};

La variabile è privata se tutti i metodi che riguardano la variabile sono resi espliciti nella classe.



Es2:

#include

#include

using namespace std;

class imm{

public:


float a,b;

void mostra(){cout<

}

float modulo(){return sqrt(a*a+b*b);



}

float fase(){return atan(b/a);

}

void quadrante(){



if(a>0&&b>0)cout<<"\n Il numero appartiene al I quadrante";

if(a<0&&b>0)cout<<"\n Il numero appartiene al II quadrante";

if(a<0&&b<0)cout<<"\n Il numero appartiene al III quadrante";

if(a>0&&b<0)cout<<"\n Il numero appartiene al IV quadrante";

}

};

main(){float lunghezza, fase;



imm i;

cout<<"inserisci il valore reale\n";

cin>>i.a;

cout<<"\nInserisci il valore immaginario\n";

cin>>i.b;

i.mostra();

lunghezza=i.modulo();

cout<<"\nIl modulo del numero immaginario:\t"<

cout<<"\nLa fase:\t"<

i.quadrante();



}


Condividi con i tuoi amici:


©astratto.info 2019
invia messaggio

    Pagina principale