Al compilar me suelta el siguiente error:
Código:
Viendo el mensaje de error parece que el problema está en los constructores y destructores, pero no logro resolverlo.Undefined symbols: "AvionPasajeros::~AvionPasajeros()", referenced from: _main in test10.o _main in test10.o _main in test10.o "vtable for AvionPasajeros", referenced from: AvionPasajeros::AvionPasajeros(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Coordenadas, float, int)in test10.o "vtable for Avion", referenced from: Avion::Avion() in colaaviones.o Avion::Avion(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Coordenadas)in test10.o "Avion::~Avion()", referenced from: ColaAviones::Nodo::~Nodo() in colaaviones.o "Avion::CalcularCombustible()", referenced from: ColaAviones::CombustibleTotal() in colaaviones.o ld: symbol(s) not found collect2: ld returned 1 exit status
Aquí os pongo las clases:
Código:
¿alguien puede ayudarme? class Angulo{ public: Angulo(int g=0, int m=0, int s=0, char o='0'):grados(g), minutos(m), segundos(s), orientacion(o){} void MostrarAngulo() const; private: int grados, minutos, segundos; char orientacion; }; class Coordenadas{ public: Coordenadas():latitud(Angulo()), longitud(Angulo()){} Coordenadas(const Angulo l, const Angulo lo):latitud(l), longitud(lo){} void MostrarCoordenadas() const; private: Angulo latitud, longitud; }; class Avion{ public: Avion(){ } Avion(const string ide, const Coordenadas dest):identificador(ide), destino(dest){} virtual ~Avion(); virtual void MostrarAvion() const; virtual float CalcularCombustible(); protected: string identificador; Coordenadas destino; }; class AvionAntiincendios: public Avion{ public: AvionAntiincendios(){ } AvionAntiincendios(const string ident, const Coordenadas dest, const float l) :Avion(ident, dest), litros(l){} ~AvionAntiincendios(); void MostrarAvion() const; float CalcularCombustible() const; private: float litros; }; class AvionPasajeros: public Avion{ public: AvionPasajeros(){ } AvionPasajeros(const string ident, const Coordenadas dest, const float equip, const int dur) :Avion(ident, dest), equipaje(equip), duracion(dur){} ~AvionPasajeros(); void MostrarAvion() const; float CalcularCombustible() const; private: float equipaje; int duracion; }; class ColaAviones{ private: struct Nodo{ Avion avion; Nodo *sig; }; typedef Nodo* PunteroNodo; PunteroNodo inicio; int tam; public: ColaAviones():inicio(NULL), tam(0){} ColaAviones(const PunteroNodo &ini, const int tamano):inicio(ini), tam(tamano){} ~ColaAviones(); void InsertarAvion(Avion &avion); void DespegarSiguienteAvion(); void MostrarSiguienteAvion(); void EliminarSiguienteAvion(); void MostrarTodosAviones() const; float CombustibleTotal(); };