You are required to give C++ implementation of following classes:
1. PropertyCategories
2. Plot
3. Flat
4. House
Following is the description of all data member and member functions of respective classes:
? Data members for PropertyCategories:
o SocietyName: This data member will be used to know the society/town name from where flat, house or plot belongs to.
o Area: Total area covered by the plot, flat or house. Area will be in square feet or Marla unit.
? Methods for PropertyCategories:
o Constructor(s) and destructor.
o Setter and getter function for Area and SocietyName data members.
? Data members for Plot:
o PlotNo: A number associated with a plot will be shown to user.
? Methods for Plot:
o Constructor(s) and destructor.
o Setter and getter function for PlotNo data member.
o isPlotAllotted () will ensure whether plot is already allotted or not. If plot is not already allotted to anyone then assign it to current user and make it allotted.
o isCornerPlot () will check whether current plot is corner plot or not. You can take input from user in this regard.
o isDeveloped () this will ensure that whether plot is in developed status or not. A plot is consider to be developed if, facilities such as electricity, gas, road etc are available, otherwise it will be consider undeveloped plot.
? Data members for Flat
o FlatNo: A number associated with a flat will be shown to user.
? Methods for Flat
o Constructor(s) and destructor.
o Setter and getter function for FlatNo data member.
o isOccupied() will check whether this flat is available for rent, selling purpose or not. If anyone is staying in the flat then we can’t rent out or sell this flat.
? Data members for House
o HouseNo: A number associated with a house will be shown to user.
? Methods for House
o Constructor(s) and destructor for class.
o Setter and getter function for HouseNo data member.
o isOccupied() will check whether this house is available for rent, selling purpose or not. If anyone is staying in this house then we can’t rent out or sell this house.