EjerciciosFinales

=Ejercicios Adicionales=

Parque automovilístico
Se desea tener información acerca del parque automovilístico de una ciudad. Para ello consideraremos los siguientes conceptos. Los automoviles se dividen en coches, motos y comiones. Los automóviles son propiedad de una persona. Una persona puede poseer uno o mas coches.

A continuación se indican las clases a realizar. La descripción que se da está incompleta y vosotros tendreis que completarla. code CLASE: Matricula HEREDA DE: ESPACIO DE NOMBRES: parque_automovilistico

DESCRIPCION: Esta clase representa una matricula - ATRIBUTOS PRIVADOS: -- - _matricula: string

-- FUNCIONES MIEMBRO PUBLICAS: --

FUNCION: Matricula DESCRIPCION : Constructor vacio

FUNCION: Matricula DESCRIPCION : Constructor de copia

FUNCION: Matricula DESCRIPCION : Constructor parametrizado

FUNCIONES: get/set Matricula DESCRIPCION : Acceso y moficación de _matricula

FUNCIONES: operador << DESCRIPCION : Imprime en el ostream pasado la matricula en modo texto

FUNCIONES: operador == DESCRIPCION : Indica si dos matriculas son iguales

FUNCIONES: bool isValid DESCRIPCION : Indica si la matricula es valida. Una matricula es valida si tiene 7 numeros y 3 letras

code

code CLASE: Automovil HEREDA DE: ESPACIO DE NOMBRES: parque_automovilistico

DESCRIPCION: Esta clase representa un vehiculo. - ATRIBUTOS PRIVADOS: -- - _matricula: Matricula - _NIFPropietario: string representado el NIF del propietario - _marca: string - _modelo: string

-- FUNCIONES MIEMBRO PUBLICAS: -- FUNCION: Automovil DESCRIPCION : Constructor vacio

FUNCION: Automovil DESCRIPCION : Constructor de copia

FUNCION: Automovil DESCRIPCION : Constructor parametrizado

FUNCIONES: get/set Matricula DESCRIPCION : Acceso y moficación de _matricula

FUNCIONES: get/set NIFPropietario DESCRIPCION : Acceso y moficación de _NIFPropietario

FUNCIONES: get/set Marca DESCRIPCION : Acceso y moficación

FUNCIONES: get/set Modelo DESCRIPCION : Acceso y moficación

FUNCION: cargaMaxima DESCRIPCION : Función virtual pura que retorna la carga máxima permitida del vehiculo expresada en kg.

code

code CLASE: Coche HEREDA DE: Automovil ESPACIO DE NOMBRES: parque_automovilistico

DESCRIPCION: Esta clase representa un coche. La carga maxima de un coche es de 3500 kg (este valor puede no corresponderse con la realidad)

-- FUNCIONES MIEMBRO PUBLICAS: -- FUNCION: Coche DESCRIPCION : Constructor vacio

FUNCION: Coche DESCRIPCION : Constructor de copia

FUNCION: Coche DESCRIPCION : Constructor parametrizado

FUNCION: cargaMaxima DESCRIPCION : Función que retorna la carga máxima permitida del vehiculo expresada en kg.

code

code CLASE: Moto HEREDA DE: Automovil ESPACIO DE NOMBRES: parque_automovilistico

DESCRIPCION: Esta clase representa una moto La carga maxima de un coche es de 1500 kg (este valor puede no corresponderse con la realidad)

-- FUNCIONES MIEMBRO PUBLICAS: -- FUNCION: Moto DESCRIPCION : Constructor vacio

FUNCION: Moto DESCRIPCION : Constructor de copia

FUNCION: Moto DESCRIPCION : Constructor parametrizado

FUNCION: cargaMaxima DESCRIPCION : Función que retorna la carga máxima permitida del vehiculo expresada en kg.

code

code CLASE: Persona HEREDA DE: ESPACIO DE NOMBRES: parque_automovilistico

DESCRIPCION: Esta clase representa una persona. La persona tiene un nombre y apellidos, nif y una lista con la matriculas de los coches que posee.

- ATRIBUTOS PRIVADOS: -- - vehiculos: vector de matriculas - _NIF: string - _nombre:string - _apellidos: string

-- FUNCIONES MIEMBRO PUBLICAS: -- FUNCION: Persona DESCRIPCION : Constructor vacio

FUNCION: Persona DESCRIPCION : Constructor de copia

FUNCION: Persona DESCRIPCION : Constructor parametrizado

FUNCION: get/set _NIF

FUNCION: get/set _nombre

FUNCION: get/set _apellidos

FUNCION: addVehiculo(Matricula) DESCRIPCION: Añade un vehiculo a la lista de vehiculos del propietario

FUNCION: delVehiculo(Matricula) DESCRIPCION: Elimina el vehiculo de la lista de vehiculos del propietario

code

Cuando realice las anteriores clases, cree un programa main que permita probarlas.