编写程序。要求:以下程序都要求有相应的初始化和相关数据的输出。1、建立基类Building,用来存储一座楼房的层数(Floors)、房间数(Rooms)以及它的总平方米数(Area)。建立派生类House,继承Building,并存储下面的内容:卧室(Bedrooms)与浴室的数量(Washrooms)。另外,建立派生类Office,继承Building,并存储灭火器(Extinguishers)与电话的数量(Telephones);每个类中有相应的输出函数,输出函数名见主函数。执行并输出结果。主函数如下:intmain(){Buildingobj1(15,200,50000);cout<<"Building:"<<endl;obj1.DisplayBuilding();Houseobj2(6,36,1000,24,12);cout<<endl<<"House:"<<endl;obj2.DisplayHouse();Officeobj3(12,100,5000,24,100);cout<<endl<<"Office:"<<endl;obj3.DisplayOffice();return0
时间: 2024-02-19 12:57:31 浏览: 21
很高兴回答您的问题并帮助您编写程序。以下是符合您要求的程序:
```cpp
#include <iostream>
using namespace std;
class Building {
protected:
int Floors;
int Rooms;
int Area;
public:
Building(int floors, int rooms, int area) {
Floors = floors;
Rooms = rooms;
Area = area;
}
void DisplayBuilding() {
cout << "Floors: " << Floors << ", Rooms: " << Rooms << ", Area: " << Area << " square meters." << endl;
}
};
class House : public Building {
private:
int Bedrooms;
int Washrooms;
public:
House(int floors, int rooms, int area, int bedrooms, int washrooms) : Building(floors, rooms, area) {
Bedrooms = bedrooms;
Washrooms = washrooms;
}
void DisplayHouse() {
cout << "Floors: " << Floors << ", Rooms: " << Rooms << ", Area: " << Area << " square meters." << endl;
cout << "Bedrooms: " << Bedrooms << ", Washrooms: " << Washrooms << endl;
}
};
class Office : public Building {
private:
int Extinguishers;
int Telephones;
public:
Office(int floors, int rooms, int area, int extinguishers, int telephones) : Building(floors, rooms, area) {
Extinguishers = extinguishers;
Telephones = telephones;
}
void DisplayOffice() {
cout << "Floors: " << Floors << ", Rooms: " << Rooms << ", Area: " << Area << " square meters." << endl;
cout << "Extinguishers: " << Extinguishers << ", Telephones: " << Telephones << endl;
}
};
int main() {
Building obj1(15, 200, 50000);
cout << "Building:" << endl;
obj1.DisplayBuilding();
House obj2(6, 36, 1000, 24, 12);
cout << endl << "House:" << endl;
obj2.DisplayHouse();
Office obj3(12, 100, 5000, 24, 100);
cout << endl << "Office:" << endl;
obj3.DisplayOffice();
return 0;
}
```
运行以上程序,输出结果为:
```
Building:
Floors: 15, Rooms: 200, Area: 50000 square meters.
House:
Floors: 6, Rooms: 36, Area: 1000 square meters.
Bedrooms: 24, Washrooms: 12
Office:
Floors: 12, Rooms: 100, Area: 5000 square meters.
Extinguishers: 24, Telephones: 100
```
希望这个程序能够满足您的需求。如果您有任何问题或需要进一步帮助,请随时告诉我。