Metodología y Técnicas de Programación II EJERCICIOS 3 Ejercicio 1 Dada la clase Arbol: Class Arbol { char *nombre_comun; char *nombre_cientifico; char *tipo; //Toma los valores "caduca" o "perenne" public: Arbol(char* v_comun, char *v_cientifico, char *v_tipo); Arbol& operator=(const Arbol &); Void visualizar(); }; a) Implementar el constructor y el operador de asignación. b) Implementar un programa en el que se crea dos objetos distintos "a1" y "a2" de la clase Arbol. Utilizar el operador de asignación para copiar el objeto "a1" en el objeto "a2". Verificar que el operador de asignación funciona correctamente. Ejercicio 2 Definir plantillas de las funciones menor() y mayor() que calcule el menor y mayor de dos valores. Comprueba: menor (2,4) menor (‘c’,’b’) menor (“abc”,”efg”) Ejercicio 3 Implementar la función ordenar que ordena arrays de un tipo dado, utilizando el método de la burbuja y templates. Ejercicio 4 Sea la clase Triangulo, la clase que se muestra a continuación: Class Triangulo { float cateto1; float cateto2; float hipotenusa; public: void area(); }; a) Implementar el método area b) Implementar el constructor de la clase Triangulo que inicializa los datos a los valores que se toman del usuario. Este constructor tendrá como argumentos por omisión los valores cero. c) Implementar un método que determine si el triángulo es cuadrado. Escribe la nueva clase. Ejercicio 5 Crea una clase que se llame cadena, con dos atributos, el buffer de datos (char *p) y su longitud (int). Cuando se construya un objeto del tipo cadena, si no se pasan datos para inicializar dicho objeto entonces se le asigna el carácter nulo y la longitud cero. Implementar: “operator=” y “operator+” , que concatena cadenas de caracteres. Crea un programa main que compruebe la correcta creación y manipulación de los objetos del tipo cadena. Ejercicio 6 Simulador de un depósito de gasolina, o tanque de gasolina existente en una gasolinera. La clase “deposito” tiene tres atributos, los litros de capacidad del depósito, los litros de gasolina que contiene el depósito y el precio por litro en euros. Cuando creo el objeto depósito tengo que asignar la capacidad y el precio. Inicialmente se supone que el depósito está vacío Los métodos requeridos son: − servir, se pide la cantidad que se quiere servir, en euros, se sirve la gasolina. (comprobar que hay suficiente gasolina para hacer el servicio), si no hubiese suficiente gasolina se le pregunta al usuario si quiere continuar, en caso afirmativo se le sirve toda la gasolina que queda y se muestra por pantalla lo que debe. − repostar, introduce gasolina al depósito (comprobar que si el depósito está lleno no se puede repostar) Ejercicio 7 Crea la clase “complejo” que define un número complejo Define un constructor para crear objetos del tipo complejo que de los valores cero por defecto, el método visualizar y la sobrecarga de operadores con los operadores básicos de la clase complejo, =, +, -, ++, ...