Untitled
unknown
plain_text
a year ago
1.4 kB
31
Indexable
#include <bits/stdc++.h> using namespace std; class Heart { public: Heart(string person_name) : person_name_(person_name) {} ~Heart() { cout << "~Heart of " << person_name_ << endl; } void Beats(); private: string person_name_; }; // Declare class Person; class Home { public: Home(string address) : address_(address) {} ~Home() { cout << "~Home of address: " << address_ << endl; } void AddPerson(Person *person) { persons_.push_back(person); } string address_; private: vector<Person*> persons_; // Association }; // Define class Person { public: Person(string person_name) : heart_(person_name), person_name_(person_name) {} ~Person() { cout << "~Person " << person_name_ << endl; } void AddHome(Home *home) { homes_.push_back(home); } private: // Member Heart heart_; // Composition // Member vector<Home*> homes_; // Association string person_name_; }; int main() { Home *home1 = new Home("delhi"); Home *home2 = new Home("bangalore"); Home *home3 = new Home("mumbai"); Person *person1 = new Person("A"); Person *person2 = new Person("B"); person1->AddHome(home1); home1->AddPerson(person1); person1->AddHome(home2); home2->AddPerson(person1); person2->AddHome(home2); home2->AddPerson(person2); person2->AddHome(home3); home3->AddPerson(person2); return 0; }
Editor is loading...
Leave a Comment