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

Abstract class representing a commercial building. More...

#include <Buildings.h>

Inheritance diagram for Commercial:
Building Mall Office Shop

Public Member Functions

 Commercial (std::string name, int numRooms, int m_squared, float value, int capacity, int numFloors, std::string type)
 Constructor for a Commercial building.
 
virtual void build ()=0
 Pure virtual function to build the commercial building.
 
virtual Commercialclone ()=0
 Pure virtual function to clone the commercial building.
 
void addCitizen (Citizen *human) override
 Adds a citizen to the commercial building.
 
void displayCitizens () override
 Displays the list of citizens in the commercial building.
 
int getLeftOverCapacity () override
 Gets the remaining capacity of the commercial building.
 
virtual std::string getType () const =0
 Pure virtual function to get the type of the commercial 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 commercial building.
 
int numFloors
 Number of floors in the commercial 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 a commercial building.

The Commercial class is derived from the Building class and serves as a base class for various types of commercial buildings. It includes attributes specific to commercial buildings, such as capacity and the number of floors.

Constructor & Destructor Documentation

◆ Commercial()

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

Constructor for a Commercial 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.
numFloorsNumber of floors in the building.
typeType of the building.

Member Function Documentation

◆ addCitizen()

void Commercial::addCitizen ( Citizen * human)
overridevirtual

Adds a citizen to the commercial building.

Parameters
humanPointer to the Citizen to be added.

Implements Building.

◆ build()

virtual void Commercial::build ( )
pure virtual

Pure virtual function to build the commercial building.

Implements Building.

Implemented in Mall, Office, and Shop.

◆ clone()

virtual Commercial * Commercial::clone ( )
pure virtual

Pure virtual function to clone the commercial building.

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

Implements Building.

Implemented in Mall, Office, and Shop.

◆ displayCitizens()

void Commercial::displayCitizens ( )
overridevirtual

Displays the list of citizens in the commercial building.

Reimplemented from Building.

◆ getLeftOverCapacity()

int Commercial::getLeftOverCapacity ( )
overridevirtual

Gets the remaining capacity of the commercial building.

Returns
The number of additional citizens the building can accommodate.

Implements Building.

◆ getType()

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

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

Returns
The type of the building as a string.

Implements Building.

Implemented in Mall, Office, and Shop.