Здравствуйте, помогите пожалуйста с решением задачи.
Создайте исходный базовый класс building для хранения числа этажей и комнат в здании, а также общую площадь комнат. Создайте производный класс house, который наследует класс building и хранит число ванных комнат и число спален. Кроме этого создайте производный класс office, который наследует класс building и хранит число огнетушителей и телефонов.
Заранее спасибо.
Другие языки программирования и технологии
Задача последовательность классов с++
#include <iostream>
class building {
public:
building() : room(0), level(0), area(0.0) {}
void set_room(unsigned short _room) { room = _room; }
void set_level(unsigned short _level) { level = _level; }
void set_area(double _area) { area = _area; }
unsigned short get_room() { return room; }
unsigned short get_level() { return level; }
double get_area() { return area; }
private:
unsigned short room;
unsigned short level;
double area;
};
class house : virtual public building {
public:
house() : bathroom(0), bedroom(0) { }
void set_bathroom(unsigned short _bathroom) { bathroom = _bathroom; }
void set_bedroom(unsigned short _bedroom) { bedroom = _bedroom; }
unsigned short get_bathroom() { return bathroom; }
unsigned short get_bedroom() { return bedroom; }
private:
unsigned short bathroom;
unsigned short bedroom;
};
class office : virtual public building {
public:
office() : extinguisher(0), phone(0) { }
void set_extinguisher(unsigned short _extinguisher) { extinguisher = _extinguisher; }
void set_phone(unsigned short _phone) { phone = _phone; }
unsigned short get_extinguisher() { return extinguisher; }
unsigned short get_phone() { return phone; }
private:
unsigned short extinguisher;
unsigned short phone;
};
int main() {
office off;
off.set_level(12);
off.set_room(24);
off.set_extinguisher(4);
off.set_phone(2);
house hse;
hse.set_level(9);
hse.set_room(144);
hse.set_bathroom(1);
hse.set_bedroom(2);
setlocale(LC_CTYPE, "Russian_Russia.1251");
std::cout << " Количество телефонов в офисном здании: " << off.get_room() * off.get_phone()
<< "\n Количество спален в жилом здании: " << hse.get_room() * hse.get_bedroom() << std::endl;
std::cin.sync();
std::cin.get();
}
http://ru.wikipedia.org/wiki/Виртуальное_наследование
class building {
public:
building() : room(0), level(0), area(0.0) {}
void set_room(unsigned short _room) { room = _room; }
void set_level(unsigned short _level) { level = _level; }
void set_area(double _area) { area = _area; }
unsigned short get_room() { return room; }
unsigned short get_level() { return level; }
double get_area() { return area; }
private:
unsigned short room;
unsigned short level;
double area;
};
class house : virtual public building {
public:
house() : bathroom(0), bedroom(0) { }
void set_bathroom(unsigned short _bathroom) { bathroom = _bathroom; }
void set_bedroom(unsigned short _bedroom) { bedroom = _bedroom; }
unsigned short get_bathroom() { return bathroom; }
unsigned short get_bedroom() { return bedroom; }
private:
unsigned short bathroom;
unsigned short bedroom;
};
class office : virtual public building {
public:
office() : extinguisher(0), phone(0) { }
void set_extinguisher(unsigned short _extinguisher) { extinguisher = _extinguisher; }
void set_phone(unsigned short _phone) { phone = _phone; }
unsigned short get_extinguisher() { return extinguisher; }
unsigned short get_phone() { return phone; }
private:
unsigned short extinguisher;
unsigned short phone;
};
int main() {
office off;
off.set_level(12);
off.set_room(24);
off.set_extinguisher(4);
off.set_phone(2);
house hse;
hse.set_level(9);
hse.set_room(144);
hse.set_bathroom(1);
hse.set_bedroom(2);
setlocale(LC_CTYPE, "Russian_Russia.1251");
std::cout << " Количество телефонов в офисном здании: " << off.get_room() * off.get_phone()
<< "\n Количество спален в жилом здании: " << hse.get_room() * hse.get_bedroom() << std::endl;
std::cin.sync();
std::cin.get();
}
http://ru.wikipedia.org/wiki/Виртуальное_наследование
Похожие вопросы
- Задача - описать класс "Массив" с параметрами: длина массива, указатель на первый элемент массива
- помогите решить задачу Во входном файле дана последовательность чисел , число (количество чисел в после
- помогите решить задачи на паскале 1Во входном файле дана последовательность чисел. Требуется найти второе по величине чи
- Задача на С. Дана последовательность из m единиц и нулей
- Задача С++. Правильная скобочная последовательность.
- помогите сделать задачу по Pascal Указать минимальный нечетный элемент в последовательности, содержащей целые числа.
- Нужна помощь по программированию. Даны две упорядоченные по неубыванию целочисленные последовательности, получить...
- Программа в паскале на анализ последовательности
- Задача на C#. 7 КЛАСС
- HTML последовательности