Question
//CajaDeAviones.h #include avion.h #pragma once const int SIZE = 5; class CajaDeAviones { private: Avion avion[SIZE]; int cantidad; public: //Constructores //Default constructor CajaDeAviones(); //Parameter constructor
//CajaDeAviones.h
#include "avion.h" #pragma once const int SIZE = 5; class CajaDeAviones { private: Avion avion[SIZE]; int cantidad; public: //Constructores //Default constructor CajaDeAviones(); //Parameter constructor CajaDeAviones(int unaCantidad); //Copy constructor CajaDeAviones(const CajaDeAviones& unaCajaDeAviones); //Destructor ~CajaDeAviones(); //Set cantidad void setCantidad(int amount); //Get Cantidad int getCantidad(); //Mostrar Cantidad void mostrarCantidad(); //Pedir informacion de la caja void pedirCaja(); //Mostrar lo que tiene la caja void mostrarCaja(); //Obtener el peso de la caja double pesoDeCaja() const; //Operator overloading //Determinar si las dos cajas son iguales bool operator == (const CajaDeAviones& unaCajaDeAviones) const; //Operador de asignacion CajaDeAviones& operator = (const CajaDeAviones& unaCajaDeAviones); //Operador de igualdad bool operator == (const CajaDeAviones& unaCajaDeAviones)const; //Operador de arreglo const Avion& operator [](int indice)const; //Operdor amigo de insertar friend ostream& operator << (ostream& out, const Avion& unAvion); };
//CajaDeAviones.cpp
#include "CajaDeAviones.h" CajaDeAviones::CajaDeAviones() { this->cantidad = 0; } CajaDeAviones::CajaDeAviones(int unaCantidad) { this->cantidad = unaCantidad; } CajaDeAviones::CajaDeAviones(const CajaDeAviones& unaCajaDeAviones) { (*this) = unaCajaDeAviones; } CajaDeAviones::~CajaDeAviones() { } void CajaDeAviones::setCantidad(int amount) { this->cantidad = amount; } int CajaDeAviones::getCantidad() { return cantidad; }
void CajaDeAviones::mostrarCantidad() { cout << cantidad; } void CajaDeAviones::pedirCaja() { int temp1; double temp2; cout << "Entre la cantidad de aviones de juguetes en la caja: "; cin >> temp1; while (temp1 < 0 || temp1 > 5) { cerr << "Entre una cantidad entre 0 y 5: "; cin >> temp1; } setCantidad(temp1); if (cantidad != 0) { cout << "Entre el peso de los aviones: "; for (int i = 0; i < cantidad; i++) { cout << " \tAvion " << i + 1 << ": "; cin >> temp2; while (temp2 <= 0) { cerr << "Entre un peso mayor de 0: "; cin >> temp2; } avion[i].setPeso(temp2); } } } void CajaDeAviones::mostrarCaja() { cout << "Esta caja posee " << cantidad << " avion(es) de juguete y sus pesos son: "; for (int i = 0; i < cantidad; i++) { cout << " \tAvion " << i + 1 << ": " << avion[i].getPeso(); } } double CajaDeAviones::pesoDeCaja() const { double total = 0; for (int i = 0; i < cantidad; i++) { total += this->avion[i].getPeso(); } return total; } bool CajaDeAviones::operator==(const CajaDeAviones& unaCajaDeAviones)const { bool equal = 0; if (this->cantidad == unaCajaDeAviones.cantidad && this->pesoDeCaja()== unaCajaDeAviones.pesoDeCaja()) equal = 1; return (equal); /*bool equal = (this->cantidad == unaCajaDeAviones.cantidad); if (equal) if (this->pesoDeCaja() != unaCajaDeAviones.pesoDeCaja()) equal = false; return (equal);*/ } CajaDeAviones& CajaDeAviones::operator = (const CajaDeAviones& unaCajaDeAviones) can you go on { this->cantidad = unaCajaDeAviones.cantidad; for (int i = 0; i < unaCajaDeAviones.cantidad; i++) this->avion[i] = unaCajaDeAviones.avion[i]; return (*this); } const Avion& CajaDeAviones::operator[](int indice) const { return((this->avion)[indice]); }
Can you do an main in this program?
C++
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started