sudo apt-get marks
 
Loading...
Searching...
No Matches
Instatutional Class Referenceabstract

Abstract class representing an institutional building. More...

#include <Buildings.h>

Inheritance diagram for Instatutional:
Building GovernmentBuilding Hospital School

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 Instatutionalclone ()=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.
 
Budgetbudget
 Pointer to a Budget object for managing building finances.
 
Concreteconcrete
 Pointer to a Concrete object for building materials.
 
Steelsteel
 Pointer to a Steel object for building materials.
 
Woodwood
 Pointer to a Wood object for building materials.
 
std::vector< Citizen * > citizens
 List of citizens associated with the building.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ Instatutional()

Instatutional::Instatutional ( std::string name,
int numRooms,
int m_squared,
float value,
int capacity,
std::string type )

Constructor for an Instatutional building.

Parameters
nameName of the building.
numRoomsNumber of rooms in the building.
m_squaredArea of the building in square meters.
valueValue of the building.
capacityMaximum capacity of the building.
typeType of the building.

Member Function Documentation

◆ addCitizen()

void Instatutional::addCitizen ( Citizen * human)
overridevirtual

Adds a citizen to the institutional building.

Parameters
humanPointer to the Citizen to be added.

Implements Building.

◆ build()

virtual void Instatutional::build ( )
pure virtual

Pure virtual function to build the institutional building.

Implements Building.

Implemented in GovernmentBuilding, Hospital, and School.

◆ clone()

virtual Instatutional * Instatutional::clone ( )
pure virtual

Pure virtual function to clone the institutional building.

Returns
A pointer to a new Instatutional object that is a clone of the current instance.

Implements Building.

Implemented in GovernmentBuilding, Hospital, and School.

◆ displayCitizens()

void Instatutional::displayCitizens ( )
overridevirtual

Displays the list of citizens in the institutional building.

Reimplemented from Building.

◆ getLeftOverCapacity()

int Instatutional::getLeftOverCapacity ( )
overridevirtual

Gets the remaining capacity of the institutional building.

Returns
The number of additional citizens the building can accommodate.

Implements Building.

◆ getType()

virtual std::string Instatutional::getType ( ) const
pure virtual

Pure virtual function to get the type of the institutional building.

Returns
The type of the building as a string.

Implements Building.

Implemented in GovernmentBuilding, Hospital, and School.