PDF de programación - Curso de introducción a C++ para programadores en C

Imágen de pdf Curso de introducción a C++ para programadores en C

Curso de introducción a C++ para programadores en Cgráfica de visualizaciones

Publicado el 13 de Junio del 2018
896 visualizaciones desde el 13 de Junio del 2018
143,4 KB
51 paginas
Creado hace 21a (26/11/2002)
Curso de Introducción a C++

Para Programadores en C



Luis de Salvador

Luis de Salvador

1



INDICE


INTRODUCCIÓN A LAS CLASES ........................................................................................... 4

1.

2. PUNTEROS A FUNCIONES ...................................................................................................... 6

3. DECLARACIÓN DE FUNCIONES EN UNA CLASE............................................................... 7

4. OTRAS CARACTERÍSTICAS DE LAS FUNCIONES EN C++............................................... 9
SOBRECARGA ............................................................................................................................. 9
4.1
OPERADORES.............................................................................................................................. 9
4.2
4.3
FUNCIONES INLINE ................................................................................................................... 10
CONSTRUCTORES...................................................................................................................... 10
4.4
FUNCIONES CON UN NÚMERO VARIABLE DE ARGUMENTOS........................................................... 10
4.5
FUNCIONES CON UN NÚMERO INDEFINIDO DE ARGUMENTOS ........................................................ 11
4.6
5.
INTRODUCCIÓN A LA HERENCIA...................................................................................... 12

6. ENTRADA/SALIDA EN C++ ................................................................................................... 13
6.1
SALIDA .................................................................................................................................... 13
6.2
ENTRADA................................................................................................................................. 14
7. PASO POR REFERENCIA....................................................................................................... 16

8. TIPOS CALIFICADOS COMO CONSTANTES..................................................................... 16

9. FUNCIONES VIRTUALES ...................................................................................................... 17

10.

11.

TEMPLATES ........................................................................................................................ 19

EL PUNTERO THIS............................................................................................................. 20

12. MANEJO DE EXCEPCIONES ............................................................................................ 22
12.1
FUNCIÓN TERMINATE................................................................................................................ 23
12.2 ESPECIFICACIÓN DE EXCEPCIONES............................................................................................. 23
12.3 MANEJADOR DE ERRORES CON NEW .......................................................................................... 23
FUNCIONES DESTRUCTORAS ......................................................................................... 25
13.

14.

15.

16.

17.

18.

HERENCIA MÚLTIPLE...................................................................................................... 25

COMPOSICIÓN DE CLASES.............................................................................................. 27

FUNCIONES COMO PARTE DE UNA ESTRUCTURA.................................................... 27

DIFERENCIAS ENTRE PUBLIC, PRIVATE Y PROTECTED......................................... 28

CAMPOS DE BIT ................................................................................................................. 28

19.
19.1
19.2

DIFERENCIAS ENTRE COMPILAR UN PROGRAMA EN C COMO C++.................... 29
FUNCIÓN SIZEOF ....................................................................................................................... 29
PROTOTIPOS............................................................................................................................. 29

Luis de Salvador

2

SOLUCIONES A LOS EJERCICIOS .................................................................................. 31
20.
20.1 EJERCICIO 1: ............................................................................................................................ 31
20.2 EJERCICIO 2: ............................................................................................................................ 32
20.3 EJERCICIO 3: ............................................................................................................................ 33
20.4 EJERCICIO 4: ............................................................................................................................ 34
20.5 EJERCICIO 6 ............................................................................................................................. 39
20.6 EJERCICIO 7 ............................................................................................................................. 41
20.7 EJERCICIO 8 ............................................................................................................................. 43
20.8 EJERCICIO 9 ............................................................................................................................. 45
20.9 EJERCICIO 10............................................................................................................................ 47
20.10
EJERCICIO 11 ....................................................................................................................... 50



Luis de Salvador

3



1. Introducción a las Clases

Una clase es un tipo definido por el usuario, como las estructuras y uniones. La
definición de clase se emplea para especificar un conjunto de datos que forman parte de
la clase así como el conjunto de operaciones que se pueden emplear sobre los objetos de
dicha clase.

Una clase se define básicamente de la siguiente forma:



<parte privada>

class nombre_de_la_clase {

public:

};

<parte pública>



En la parte privada se definen los datos (atributos) y las funciones (métodos) que son
accesibles unicamente por funciones que sean miembros o friend (amigas) de las clase.
Las funciones miembro son aquellas funciones que se encuentran definidas en el ambito
de la clase y no fuera de ese ambito (ambito de la clase, que es diferente del ambito de
declaración de la clase).

Por defecto, todas las definiciones realizadas antes de la palabra public son privadas.
Se puede incluir la palabra private para declarar una parte privada. Se pueden incluir
tantas partes privadas como públicas que se deseen.

En la parte publica se definen los datos y las funciones que son accesibles fuera del

ambito de la declaración de la clase.

Ejemplo de definición de una clase

/* Constructor de la clase */
string() {str = new char[10];



*str = 'a';
*(str+1) = NULL; }

/* objeto privado de la clase */
char *str;

#include "stdio.h"

class string {


public:



/* Función miembro de clase */



};

void main () {
string s;

if (!null_test(s)) /* manipulación de la clase */


return;
}

void print() { printf("%s\n", str); }
/* Función amiga de la clase */
friend int null_test ( string s){

}

/* inicialización del objeto*/

return (*s.str == NULL);

s.print();



Luis de Salvador

4

Notas sobre el ejemplo:
?? La parte privada de la clase es un puntero a una cadena de caracteres Por lo
tanto, esta cadena de caracteres solo podrá ser accedida desde funciones que
sean miembro o amigas de la clase.

?? Las funciones miembro de una clase no necesitan referenciar a los objetos

privados de la clase via clase.miembro.

?? Las funciones miembro de una clase se invocan a partir de un objeto de la clase
( s.print()). Este “.” se denomina operador de acceso a un miembro de la clase.
?? Una de las funciones definidas en la parte pública ha de ser una función
constructora. Esta función es la empleada para realizar las declaracion de una
variable como de tipo la clase considerada y, a su vez, inicializarla. En esta
función se prevee la devolución de ningún tipo.

?? La función para reservar espacio en memoria es new, la función para liberarlo es

delete.

Es posible que un miembro de la clase sea del mismo tipo que la clase. De igual
forma que ocurría en la declaración de estructuras, este miembro ha de ser puntero al
tipo de la clase.

Una clase puede ser declarada y no definida, para ser definida posteriormente. La

declaración de una clase sin cuerpo tiene la forma:

class nombre_de_clase;

Ejercicio 1: Crear un objeto llamado nodo que se el núcleo de un arbol binario. Por
lo tanto, que sea capaz de almacenar dos punteros a dos nodos. Cada nodo puede
almacenar los siguientas datos de forma excluyente: o bien un valor double o bien otro
puntero a otro nodo del mismo arbol.

Escribir una función constructura y las siguientes funciones amigas:
void crear (nodo *, int )

Crea un nuevo nodo a la izquierda o a la derecha del nodo actual en función

de un parámetro en int.

void cambiar_v (nodo *el_nodo, double *valor)

Añadir al nodo actual el valor especificado.

void cambiar_n (nodo *el_nodo, nodo *nuevo)
Añadir al nodo actual un nuevo puntero.

nodo* viajar (nodo *el_nodo, int valor)

Devuelve el nodo izquierdo o derecho en función del valor entero.

Escribir una función main que compruebe el correcto funcionamiento de las

funciones.

Luis de Salvador

5

2. Punteros
  • Links de descarga
http://lwp-l.com/pdf11822

Comentarios de: Curso de introducción a C++ para programadores en C (1)

Imágen de perfil
25 de Febrero del 2020
estrellaestrellaestrellaestrellaestrella
Muy bien, me hace mucha falta hacerme bueno en c++, tanto a como lo soy en Java y en VB6.
Especialmente por una oportunidad empresarial de programación que me ha salido.
Responder

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad