Abstract class representing an institutional building. More...
#include <Buildings.h>
Public Member Functions | |
| Instatutional (std::string name, int numRooms, int m_squared, float value, int capacity, std::string type) | |
| Constructor for an Instatutional building. | |
| virtual void | build ()=0 |
| Pure virtual function to build the institutional building. | |
| virtual Instatutional * | clone ()=0 |
| Pure virtual function to clone the institutional building. | |
| void | addCitizen (Citizen *human) override |
| Adds a citizen to the institutional building. | |
| void | displayCitizens () override |
| Displays the list of citizens in the institutional building. | |
| int | getLeftOverCapacity () override |
| Gets the remaining capacity of the institutional building. | |
| virtual std::string | getType () const =0 |
| Pure virtual function to get the type of the institutional building. | |
Public Member Functions inherited from Building | |
| Building (std::string name, int numRooms, int m_squared, float value, std::string type) | |
| Constructor to initialize a Building object. | |
| virtual | ~Building () |
| Virtual destructor for the Building class. | |
| std::vector< Citizen * > | getCitizens () const |
| Gets the list of citizens in the building. | |
| std::string | getName () |
| Gets the name of the building. | |
| std::string | getBuildingType () |
| Gets the building's type description. | |
| bool | getBuilt () const |
| Checks if the building is built. | |
| void | renovate () |
| Renovates the building, updating any necessary properties. | |
Protected Attributes | |
| int | capacity |
| Maximum occupancy capacity of the institutional building. | |
Protected Attributes inherited from Building | |
| std::string | name |
| Name of the building. | |
| std::string | type |
| Type of the building (e.g., Residential, Commercial) | |
| int | numRooms |
| Number of rooms in the building. | |
| int | m_squared |
| Area of the building in square meters. | |
| float | value |
| Value of the building. | |
| bool | built = false |
| Flag indicating if the building is built. | |
| Budget * | budget |
| Pointer to a Budget object for managing building finances. | |
| Concrete * | concrete |
| Pointer to a Concrete object for building materials. | |
| Steel * | steel |
| Pointer to a Steel object for building materials. | |
| Wood * | wood |
| Pointer to a Wood object for building materials. | |
| std::vector< Citizen * > | citizens |
| List of citizens associated with the building. | |
Abstract class representing an institutional building.
The Instatutional class is derived from the Building class and serves as a base class for various types of institutional buildings. It includes attributes specific to institutions, such as capacity.
| Instatutional::Instatutional | ( | std::string | name, |
| int | numRooms, | ||
| int | m_squared, | ||
| float | value, | ||
| int | capacity, | ||
| std::string | type ) |
Constructor for an Instatutional building.
| name | Name of the building. |
| numRooms | Number of rooms in the building. |
| m_squared | Area of the building in square meters. |
| value | Value of the building. |
| capacity | Maximum capacity of the building. |
| type | Type of the building. |
|
overridevirtual |
|
pure virtual |
Pure virtual function to build the institutional building.
Implements Building.
Implemented in GovernmentBuilding, Hospital, and School.
|
pure virtual |
Pure virtual function to clone the institutional building.
Implements Building.
Implemented in GovernmentBuilding, Hospital, and School.
|
overridevirtual |
Displays the list of citizens in the institutional building.
Reimplemented from Building.
|
overridevirtual |
Gets the remaining capacity of the institutional building.
Implements Building.
|
pure virtual |
Pure virtual function to get the type of the institutional building.
Implements Building.
Implemented in GovernmentBuilding, Hospital, and School.