sudo apt-get marks
 
Loading...
Searching...
No Matches
Mansion Class Reference

Class representing a mansion, a specific type of residential building. More...

#include <Buildings.h>

Inheritance diagram for Mansion:
Residential Building

Public Member Functions

 Mansion (std::string name, int numRooms, int m_squared, float value, int numBedrooms, int numBathrooms, int capacity, bool waterFeature)
 Constructor for the Mansion class.
 
void build () override
 Builds the mansion.
 
Mansionclone () override
 Clones the Mansion object.
 
std::string getType () const override
 Gets the type of the building (Mansion).
 
- Public Member Functions inherited from Residential
 Residential (std::string name, int numRooms, int m_squared, float value, int numBedrooms, int numBathrooms, int capacity, std::string type)
 Constructor for a Residential building.
 
void addCitizen (Citizen *human) override
 Adds a citizen to the residential building.
 
void displayCitizens () override
 Displays the list of citizens in the residential building.
 
int getLeftOverCapacity () override
 Gets the remaining capacity of the residential building.
 
int getCapacity ()
 Gets the maximum capacity of the residential building.
 
std::vector< Citizen * > getCitizens ()
 Gets the list of citizens in the residential 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.
 

Additional Inherited Members

- Protected Attributes inherited from Residential
int numBedrooms
 Number of bedrooms in the residential building.
 
int numBathrooms
 Number of bathrooms in the residential building.
 
int capacity
 Maximum occupancy capacity of the 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

Class representing a mansion, a specific type of residential building.

The Mansion class inherits from Residential and includes attributes specific to mansions, such as a water feature.

Constructor & Destructor Documentation

◆ Mansion()

Mansion::Mansion ( std::string name,
int numRooms,
int m_squared,
float value,
int numBedrooms,
int numBathrooms,
int capacity,
bool waterFeature )

Constructor for the Mansion class.

Parameters
nameName of the mansion.
numRoomsNumber of rooms in the mansion.
m_squaredArea of the mansion in square meters.
valueValue of the mansion.
numBedroomsNumber of bedrooms in the mansion.
numBathroomsNumber of bathrooms in the mansion.
capacityMaximum capacity of the mansion.
waterFeatureIndicates if the mansion has a water feature.

Member Function Documentation

◆ build()

void Mansion::build ( )
overridevirtual

Builds the mansion.

Implements Residential.

◆ clone()

Mansion * Mansion::clone ( )
overridevirtual

Clones the Mansion object.

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

Implements Residential.

◆ getType()

std::string Mansion::getType ( ) const
inlineoverridevirtual

Gets the type of the building (Mansion).

Returns
A string indicating the type of the building.

Implements Residential.