Nwlapcug.com


Come scrivere codice per creare una classe di cerchio

Programmazione informatica si è evoluto da quando è apparso il primo personal computer. Stili di programmazione hanno evoluto come bene. Attualmente, maggior parte dei linguaggi di programmazione supportano un design object-oriented, vale a dire, si basano sulla creazione di oggetti, che sono un ibrido di dati e funzioni correlate a tali dati. Gli oggetti vengono implementati in strutture di dati denominate classi. Progettazione di una classe di cerchio richiede di definire membri dati (punto di centro e raggio) e per definire operazioni, denominate funzioni, relative ai dati membri. Una classe circle è un'astrazione di un cerchio, con membri di dati e operazioni sui dati.

Istruzioni

Progettazione della classe

1

Impostare la classe chiamandolo e raggruppando pubblico e membri privati. Le funzioni della classe sono membri pubblici, e i dati sono membri privati. In C++, la progettazione di una classe è contenuta in un file di intestazione. In questo esempio, il file di intestazione viene chiamato "circle.h." Questo è il codice di esempio:

Circle.h
cerchio di classe;
{
pubblico:

2

Creare i distruttori e costruttori di classe. Costruttori di classe sono funzioni che creare un'istanza dell'oggetto. Il classe di costruttori e distruttori devono essere come segue:

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

Aggiungere queste righe al file di intestazione:

Circle(); Costruttore predefinito
cerchio (float, int, int); Costruttore Parameter
Circle(Circle); Costruttore di copia
~ circle(); distruttore

3

Definire operazioni sul cerchio. La prima serie di operazioni deve essere in grado di manipolare i membri dati della classe, vale a dire, funzioni per modificare il centro e il raggio del cerchio. Inserire il codice seguente:

void newcenter (int, int);
Sub newradius(float);

4

Include una funzione per trovare l'area del cerchio. Questo è importante, come aree sono usati spesso per altri calcoli. Per calcolare l'area, è necessario il valore di pi greco e il raggio del cerchio, che è il membro dati. La zona è espressa come mobile scegliere numero. Inserire il codice seguente:

circlearea() galleggiante;

5

Definire una funzione per determinare se un punto si trova all'interno del cerchio. La funzione sarà necessario conoscere le coordinate del punto da testare. Una volta che la funzione determina se il punto si trova all'interno del cerchio, verrà restituito un valore true o falso. Aggiungere il codice riportato di seguito:

bool all'interno (float, float):

6

Creare membri dati. Per un cerchio di astrazione, il centro e il raggio sono il set minimo di dati necessario. Il centro può essere espresso come due punti di coordinate (x e y), e il raggio è qualsiasi numero. Queste sono le righe di codice per i membri di dati:

privato:
raggio di galleggiante;
centerx galleggiante;
centery galleggiante;
}

Implementare la classe

7

Scrivere 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 fornite nella libreria "matematica" di C++. Questo è il codice:

Circle.cpp

includono //this < matematica > biblioteca contiene potenza e radice quadrata operazioni 8

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

Costruttore //default cerchio:: circle()
{
raggio = 1;
CenterX = 0;
CenterY = 0;
};
Circle::Circle (float r, int cx, int cy) / / costruttore parameter
{
raggio = r;
CenterX = cx;
CenterY = cy;
};
Circle::Circle(Circle a) / / costruttore di copia
{
RADIUS=a.RADIUS;
CenterX=a.CenterX;
CenterY=a.CenterY;
};
cerchio:: ~circle() //destructor
{
};

9

Definire le funzioni per modificare il centro e il raggio dell'oggetto circle. Queste funzioni sovrascrivono i valori dei membri dati. Questo è il codice:

void circle::newcenter (float nx, floatny) //changes il centro del cerchio
{
CenterX = nx;
CenterY = ny;
};
Sub newradius(float nr) //changes il raggio del cerchio
{
raggio = nr;
};

10

Scrivere l'implementazione della funzione per calcolare l'area del cerchio. Questa funzione non richiede ulteriori ingressi. Ecco il codice:

galleggiante cerchio:: circlearea()
{
float const PI = 3.141592;
area mobile;
area = PIraggioraggio;
return(area);
};

11

Scrivere la funzione per scoprire se un punto è all'interno del cerchio. Questa funzione richiede le coordinate del punto da testare, due galleggianti punto di numeri, come input. L'algoritmo è semplice: calcolare la distanza tra il centro del cerchio e il punto di test. Se la distanza è minore o uguale al raggio, il punto è all'interno del cerchio (TRUE); in caso contrario, il punto è all'esterno del cerchio (FALSE). Questo è il codice:

bool circle::inside (int cx, int cy)
{
distanza galleggiante;
distanza = sqrt (pow((cx-centerx),2) + pow((cy-centery),2));
Se (distanza < = raggio)
//ObjectInspector;
altro
return(false);
};

Consigli & Avvertenze

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