Diseño de la Clase
1
Configure la clase mediante nombrado y agrupar miembros públicos y privados. Las funciones de la clase son miembros públicos , y los datos son los miembros privados . En C + + , el diseño de una clase está contenida en un archivo de cabecera . Para este ejemplo , el archivo de cabecera se llama " circle.h . " Este es el código de ejemplo :
/circle.h
círculo /clase;
{
público :
2
Crear constructores de clase y destructores . Constructores de clase son funciones que crean una instancia del objeto. Los constructores /destructores clase deben ser las siguientes :
constructor predeterminado , que proporciona ningún parámetro
constructor Parameter
, que proporciona datos para el centro y el radio del círculo
< p . . > Copy Constructor , que crea una instancia como una copia de otro objeto círculo.
el destructor de la clase va a destruir el objeto una vez que ya no se utiliza .
Añada esta línea a la cabecera archivo :
círculo (); constructor
círculo //default (float , float, float ) //parámetro de constructor
circle ( círculo ) //constructor de copia
círculo ~ (); //destructor
3
Definir las operaciones en el círculo. El primer conjunto de operaciones debe ser capaz de manipular los miembros de datos de la clase , es decir, funciones para cambiar el centro y el radio del círculo . Inserte el siguiente código:
void newcenter ( float, float ) ;
void newradius (float ) ;
4
incluye una función para encontrar el área de la círculo. Esto es importante , ya que las áreas se utilizan a menudo para algunos otros cálculos . Para calcular el área , se necesita el valor de Pi y el radio del círculo , que es miembro de datos . El área se expresa como un número de punto flotante. Inserte el siguiente código:
circlearea float ();
5
Definir una función para determinar si un punto se encuentra dentro del círculo. La función tendrá que saber las coordenadas del punto de probar . Una vez que la función determina si el punto está dentro del círculo , devolverá un valor verdadero o falso. Agregue el código siguiente :
dentro bool ( float, float ) :
6
Crea miembros de datos . Para una abstracción círculo, el centro y el radio son los datos mínimos requeridos . El centro puede ser expresada como dos puntos de coordenadas ( x e y ) , y el radio es cualquier número . Estas son las líneas de código para los miembros de datos :
privada :
radio
float ;
flotador centerx ;
flotador CenterY ;
< p >}
implementar la clase
7
Escriba las definiciones de funciones. C + + , escribe las definiciones en un archivo separado con el mismo nombre que el archivo de cabecera , pero con una extensión cpp . . Una de las funciones incluidas en la clase usará poderes y raíz cuadrada. Estas operaciones se proporcionan en la biblioteca " matemáticas " de C + + . Este es el código:
//circle.cpp
# include del l //esta biblioteca contiene raíces cuadradas poder y
8
Definir los constructores . El constructor por defecto no toma parámetros y crea un círculo con centro en el punto (0,0 ) y radio 1 . El parámetro de constructor inicializa el círculo a los parámetros proporcionados por el usuario . El constructor de copia tira de los miembros de datos a partir de un círculo existente y los copia en el nuevo objeto círculo. El destructor se crea automáticamente por el compilador. Este es el código:
círculo :: círculo () //default r , float cx, cy float ) //parámetro a) //copia //destructor
{
} ;
9
Definir las funciones que cambian el centro y el radio del círculo objeto . Estas funciones sobrescriben los valores de los miembros de datos . Este es el código:
círculo vacío :: newcenter (float nx , floatny ) //cambia el centro del círculo
{
centerx = nx ;
CenterY = ny ;
} ;
void newradius (float nr) //cambia el radio del círculo
{
radio = nr ;
} ;
10
Escribir la implementación de la función para calcular el área del círculo. Esta función no requiere entradas adicionales . Aquí está el código :
círculo float :: circlearea ()
{
const float PI = 3.141592 , con Z. flotador
;
< p> area = pi * radio * radio ;
regreso (área) ;
} ;
11
Escribir la función de averiguar si un punto está dentro el círculo. Esta función requiere de las coordenadas del punto de prueba, dos números de punto flotante , como entrada. El algoritmo es simple : Calcular la distancia entre el centro del círculo y el punto de prueba . Si la distancia es menor o igual que el radio , es el punto en el interior del círculo ( VERDADERO ) , de lo contrario , el punto se encuentra fuera del círculo ( FALSO ) . Este es el código:
círculo bool :: adentro (float cx, cy float )
{
distancia flotador ;
distancia = sqrt ( pow ( ( cx - centerx ) , 2 ) + pow ( (cy - CenterY ) , 2 ));
if ( distancia < = radio )
return ( TRUE) ;
más
return ( false);
} ;