Perché C + + utilizza una programmazione orientata agli oggetti , o il modello OOP , come parte del suo progetto , i programmatori devono familiarizzare con alcuni concetti OOP , come classi e oggetti . Quando un programmatore desidera sviluppare un oggetto per l'uso in codice , deve progettare la funzionalità di un oggetto in una "classe ". Una classe definisce i dati e le funzioni che un oggetto può utilizzare. Un particolare tipo di funzione di oggetto , il distruttore virtuale , per il suo uso richiede che un programmatore di comprendere il ruolo dei distruttori nelle classi , il concetto di ereditarietà di classe , e l'uso delle funzioni virtuali in programmazione C + + . Ereditarietà
Un punto di forza di OOP risiede nel concetto di eredità. Quando un programmatore intende estendere il funzionale di un oggetto , o se uno parti oggetto molto del funzionale di un altro oggetto con differenze minori, il programmatore può derivare una classe dall'altra . Quando una classe deriva da un'altra classe ( la classe "base" ) , ha accesso alle variabili e le funzioni definite nella prima classe . In questo esempio , la classe " palla " deriva dalla classe "sfera ", ed estende le sue funzionalità
classe
Sphere {
pubblico : .
Int getRadius ( ) {
ritorno r ;
}
int r ;
}
classe sfera: sfera pubblica {
pubblico :
colore stringa ;
}
virtuali funzioni
Poiché una classe derivata ha accesso a tutte le funzioni della classe base , li può utilizzare come qualsiasi momento , come se agisse come classe base . Tuttavia, la classe derivata potrebbe invece modificare una funzione nella classe base per soddisfare le sue esigenze . Inoltre , una classe base può servire come modello per la classe derivata . In questo caso , la classe base nominerà funzioni senza definire ciò che fanno , invece di lasciare che per le classi derivate . Una funzione in una classe base che non fa nulla , lasciando invece una classe derivata per attuarlo, si chiama una funzione di " virtuale" .