Код: Выделить всё
Создать класс комната, имеющий площадь, определенное число комнат, этаж. Определить конструктор, деструктор и методы доступа( чтения и записи) полей класса.
Создать два производных класса:
1) Класс - однокомнатная квартира, содержащий комнату и кухню (ее площадь).
2) Класс – трехкомнатная квартира, содержащий 3 комнаты (их площади), кухню (ее площадь).
Определить конструкторы, деструкторы, методы доступа(чтения и записи) площади, этажности, количества комнат однокомнатной и трехкомнатной квартиры.
Создать экземпляры объектов всех классов.
В методах доступа к данным класса предусмотреть вывод сообщений поясняющих, метод какого класса вызывается
Код: Выделить всё
#include <vcl.h>
#include <iostream.h>
#include <conio.h>
using namespace std;
class Room
{
protected:
double square; //Площадь
int count_room; //Количество комнат
int floor; //Этаж
public:
Room(): square(0), count_room(0), floor(0) {}
Room(double sqr, int count, int flr): square(sqr), count_room(count), floor(flr) {}
~Room() {}
void SetRoomCount(int count) { count_room = count; }
void SetRoomSquare(double sqr) { square = sqr; }
void SetRoomFloor(int flr) { floor = flr; }
int GetRoomCount()const { return count_room; }
double GetRoomSquare()const { return square; }
int GetRoomFloor()const { return floor; }
};
class OneRoom: public Room
{
private:
double square_kitchen;
public:
OneRoom(): square_kitchen(0) { Room(); count_room = 1; }
OneRoom(double sqr, int flr, double sqr_kitchen) { Room(sqr, 1, flr); square_kitchen = sqr_kitchen; }
void SetRoomCount()const {}
void SetKitchenSquare(double sqr) { square_kitchen = sqr; }
double GetKitchenSquare()const { return square_kitchen; }
};
class ThreeRoom: public OneRoom
{
public:
ThreeRoom() { OneRoom(); count_room = 3; }
ThreeRoom(double sqr, int flr, double sqr_kitchen) { OneRoom(sqr, flr, sqr_kitchen); }
};
main()
{
getch();
}