La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Clases en C++.

Presentaciones similares


Presentación del tema: "Clases en C++."— Transcripción de la presentación:

1 Clases en C++

2 Los archivos Java C++ Clase auxiliar Clase auxiliar ClaseAux.java
ClaseAux.h Programa principal (main) Clase principal (main) Prog.cpp #include “ClaseAux.h” Clase.java En Java una clase se puede usar si está en el mismo directorio. En C++ para poder usar una clase se requiere poner incluirla.

3 Para programadores de Java
Uso de Clases en C++ Para programadores de Java

4 Declaración de una clase en C++
Formato: class NombreClase { public: // declaración de atributos y métodos públicos private: // declaración de atributos y métodos privados }; Ojo aquí va un ;

5 Ejemplo de una clase en C++
class Rectangulo { public: double CalcArea( ); void Inicializa(double la, double an); private: double largo, ancho; };

6 Definición de las funciones miembro de una clase:
Formato: tipo NombreClase :: NombreMetodo (lista de parámetros) { estatutos; }

7 Ejemplo….continuación
double Rectangulo::CalcArea( ) { return largo * ancho; } void Rectangulo::Inicializa(double la, double an) { largo = la; ancho = an;

8 Uso de los objetos Una instancia u objeto de la clase se representa como una variable. Para crear una instancia u objeto se usa el siguiente formato: Nombre_Clase Nombre_Variable; (estamos declarando una variable que es un objeto, el nombre de la clase es el tipo de dato)

9 Uso de los objetos Un mensaje pide a un objeto que ejecute alguno de sus métodos. Para enviar un mensaje a un objeto se usa el siguiente formato: Nombre_Objeto . Nombre_Método (parámetros); (estamos llamando a la función miembro de la clase a la que pertenece el objeto).

10 Ejemplo…. continuación
void main( ) { Rectangulo A; double area; A. Inicializa(10, 5); area = A.CalcArea( ); } Crea el objeto A que es un Rectángulo usando el constructor default Envía mensajes al objeto A para que ejecute los métodos Inicializa y CalcArea

11 Uso de clases Es común colocar la declaración y definición de una clase en un archivo y poner a ese archivo el nombre de la clase con extensión .h. Ejemplo: Rect.h Para usar la clase en un programa cliente se incluye la clase con un #include. Ejemplo: #include “Rect.h” Ojo aquí lleva comillas

12 Ejemplo completo sin constructor
Rect.h Ejerc.cpp class Rect { public: double CalcArea( ); void Inicializa(double la, double an); private: double largo, ancho; }; double Rect::CalcArea( ) { return largo * ancho; } void Rect::Inicializa( double la, double an) { largo = la; ancho = an; #include <iostream.h> #include “Rect.h” void main( ) { Rect A; double area; A. Inicializa(10, 5); area = A.CalcArea( ); cout<<area; }

13 Ejemplo completo usando un constructor con parámetros
Rect.h Ejerc.cpp class Rect { public: double CalcArea( ); Rect(double la, double an); private: double largo, ancho; }; Rect::Rect( double la, double an) { largo = la; ancho = an; } double Rect::CalcArea( ) { return largo * ancho; #include <iostream.h> #include "Rect.h" void main( ) { Rect A(10,5); double area; area = A.CalcArea( ); cout<<area; }

14 Los Objetos en Java se manejan por referencia
class box { public int value; } box a = new box(); box b; a.value =7; b = a; b.value=12; b a 7  12 b NOTA: a y b son espacios que guardan referencia que pueden cambiar, son VARIABLES

15 Los Objetos en C++ se manejan por valor
class box { public: int value; }; box a; box b; a.value = 7; b = a; b.value = 12; a ? b ? a a 7 b b 7  12 NOTA: a y b son espacios que guardan referencias que no cambian son CONSTANTES


Descargar ppt "Clases en C++."

Presentaciones similares


Anuncios Google