Come scrivere codice per creare una classe Circle

July 1

Programmazione informatica si è evoluta da quando i primi personal computer sono apparsi. stili di programmazione si sono evoluti come bene. Attualmente, la maggior parte dei linguaggi di programmazione supportano un design orientato agli oggetti, cioè, si basano sulla creazione di oggetti, che sono un ibrido di dati e di funzioni relative a tali dati. Gli oggetti sono realizzati in strutture di dati denominate classi. Progettazione di una classe cerchio richiede di definire i membri di dati (centro e raggio) e di definire le operazioni, denominate funzioni, legate ai membri di dati. Una classe cerchio è un'astrazione di un cerchio, con i membri di dati e operazioni sui dati.

istruzione

Progettare la classe

1 Impostare la classe nominando e il raggruppamento soci pubblici e privati. Le funzioni sulla classe sono membri pubblici, ei dati sono membri privati. In C ++, la progettazione di una classe è contenuto in un file di intestazione. Per questo esempio, il file di intestazione è chiamato "circle.h." Questo è il codice di esempio:

// circle.h
cerchio di classe;
{
pubblico:

2 Creare costruttori della classe e distruttori. costruttori della classe sono funzioni che creano un'istanza dell'oggetto. I costruttori della classe / distruttori devono essere le seguenti:

costruttore di default, che fornisce alcun parametro.
costruttore dei parametri, che fornisce i dati per il centro e il raggio del cerchio.
Copia Constructor, che crea un'istanza come una copia di un altro oggetto cerchio.
Il distruttore della classe distruggerà l'oggetto una volta che viene utilizzato non è più.

Aggiungere queste righe al file di intestazione:

cerchio(); // Costruttore di default
cerchio (float, float, float); // Costruttore parametro
cerchio (cerchio); // Copia costruttore
~ Cerchio (); //distruttore

3 Definire le operazioni sul cerchio. La prima serie di operazioni devono essere in grado di manipolare i dati membri della classe, cioè funzioni per cambiare il centro e il raggio del cerchio. Inserire il seguente codice:

nuovoCenter void (float, float);
newradius void (float);

4 Include una funzione per trovare l'area del cerchio. Questo è importante, come aree vengono spesso utilizzati per altri calcoli. Per calcolare l'area, è necessario il valore di Pi e il raggio del cerchio, che è membro di dati. La zona è espressa come un numero decimale. Inserire il seguente codice:

float circlearea ();

5 Definire una funzione per determinare se un punto si trova all'interno del cerchio. La funzione avrà bisogno di conoscere le coordinate del punto da verificare. Una volta che la funzione determina se il punto è all'interno del cerchio, si restituirà un valore vero o falso. Aggiungere il seguente codice:

bool all'interno (float, float):

6 Crea membri di dati. Per un cerchio astrazione, il centro e il raggio sono i dati minimi richiesti. Il centro può essere espresso come due punti di coordinate (X e Y), ed il raggio è qualsiasi numero. Queste sono le righe di codice per i membri di dati:

privato:
float raggio;
float centerX;
float centery;
}

Implementare la classe

7 Annotare le definizioni di funzione. C ++ scrive le definizioni in un file separato con lo stesso nome del file di intestazione, ma con estensione cpp. Una delle funzioni incluse nella classe utilizzerà poteri e radice quadrata. Queste operazioni sono forniti nella libreria "matematica" della C ++. Questo è il codice:

//circle.cpp

includere <math> // Questa libreria contiene potenza e radice quadrata operazioni

8 Definire i costruttori. Il costruttore di default non accetta parametri e crea un cerchio con centro nel punto (0,0) e raggio 1. Il costruttore parametro inizializza il cerchio ai parametri forniti dall'utente. Il costruttore di copia tira membri di dati da un cerchio esistente e li copia nel nuovo oggetto cerchio. Il distruttore viene automaticamente creato dal compilatore. Questo è il codice:

cerchio :: cerchio () // costruttore di default
{
Raggio = 1;
centerX = 0;
centery = 0;
};
cerchio :: cerchio (float R, float cx, cy float) // costruttore parametro
{
Raggio = r;
centerX = cx;
centery = cy;
};
cerchio :: cerchio (cerchio a) // costruttore di copia
{
Raggio = a.radius;
centerX = a.centerx;
centery = a.centery;
};
cerchio :: ~ cerchio () // distruttore
{
};

9 Definire funzioni che cambiano il centro e il raggio dell'oggetto cerchio. Queste funzioni sovrascrivere i valori delle componenti di dati. Questo è il codice:

cerchio vuoto :: nuovoCenter (float nx, floatny) // cambia il centro del cerchio
{
centerX = nx;
centery = NY;
};
newradius void (nr float) // cambia il raggio del cerchio
{
Raggio = nr;
};

10 Scrivi la realizzazione della funzione per calcolare l'area del cerchio. Questa funzione non richiede ulteriori ingressi. Ecco il codice:

cerchio galleggiante :: circlearea ()
{
const float PI = 3.141592;
float zona;
zona =

raggio PI raggio;
tornare (area);
};

11 Scrivi la funzione per scoprire se un punto è all'interno del cerchio. Questa funzione richiede le coordinate del punto da verificare, due numeri in virgola mobile, come input. L'algoritmo è semplice: Calcolare la distanza tra il centro del cerchio e il punto di prova. Se la distanza è inferiore o uguale al raggio, il punto è all'interno del cerchio (TRUE); altrimenti, il punto è fuori del cerchio (FALSO). Questo è il codice:

cerchio bool :: interno (float cx, cy float)
{
float a distanza;
distanza = sqrt (pow ((cx-centerX), 2) + pow ((CY-centery), 2));
if (distanza <= raggio)
tornare (TRUE);
altro
ritorno (FALSE);
};

Consigli e avvertenze

  • È possibile includere più funzioni sulla classe. Basta aggiungere il prototipo sul file di intestazione e la definizione nel file cpp.
  • Il simbolo "//" in C ++ viene utilizzato per i commenti. È possibile includere in qualsiasi parte del codice di chiarire e descrivere il codice.