• Предмет: Информатика
  • Автор: taniyham
  • Вопрос задан 2 месяца назад

Створіть програму, що імітує багатоквартирний будинок. Необхідно створити класи «Людина», «Квартира»,
«Дім». Клас «Квартира» містить динамічний масив об’єктів
класу «Людина». Клас «Дім» містить масив об’єктів класу
«Квартира».
Кожен з класів містить змінні-члени і функції-члени,
які необхідні для предметної області класу. Не
забувайте забезпечити класи різними конструкторами
(конструктор копіювання обов’язковий), деструкторами.
В main протестувати роботу отриманого набору класів.
На мові С++

Ответы

Ответ дал: saduakasadil7
1
#include
#include
#include

using namespace std;

class Person {
public:
Person(const string& name, int age) : name_(name), age_(age) {}
Person(const Person& other) : name_(other.name_), age_(other.age_) {}

string getName() const { return name_; }
int getAge() const { return age_; }

private:
string name_;
int age_;
};

class Apartment {
public:
Apartment(int number) : number_(number) {}
Apartment(const Apartment& other) : number_(other.number_), residents_(other.residents_) {}

void addResident(const Person& person) {
residents_.push_back(person);
}

void printResidents() const {
cout << "Residents of Apartment " << number_ << ":\n";
for (const auto& person : residents_) {
cout << "Name: " << person.getName() << ", Age: " << person.getAge() << endl;
}
cout << endl;
}

private:
int number_;
vector residents_;
};

class House {
public:
House(int numberOfApartments) : apartments_(numberOfApartments) {}

void addApartment(const Apartment& apartment) {
apartments_.push_back(apartment);
}

void printResidents() const {
cout << "Residents of the House:\n";
for (const auto& apartment : apartments_) {
apartment.printResidents();
}
}

private:
vector apartments_;
};

int main() {
// Create some people
Person person1("John", 25);
Person person2("Alice", 30);
Person person3("Bob", 35);

// Create some apartments and add residents
Apartment apartment1(101);
apartment1.addResident(person1);
apartment1.addResident(person2);

Apartment apartment2(102);
apartment2.addResident(person3);

// Create a house and add apartments
House house(2);
house.addApartment(apartment1);
house.addApartment(apartment2);

// Print the residents of the house
house.printResidents();

return 0;
}
Вас заинтересует