OOPRelationships
OOPRelationships
1. Association
Sample Program-1
#include <iostream>
#include <string>
class Bank
private:
string name;
public:
Bank(string n)
name = n;
string getName()
return name;
void setName(string n)
name = n;
};
class Employee
private:
string name;
public:
Employee(string n)
name = n;
string getName()
return name;
void setName(string n)
name = n;
};
class BankEmployeeAssociation
public:
Bank *b;
Employee *e;
};
int main()
Bank b1("HBL");
Employee e1("Ali");
Employee e2("Usman");
BankEmployeeAssociation bea1;
bea1.b = &b1;
bea1.e = &e1;
BankEmployeeAssociation bea2;
bea2.b = &b1;
bea2.e = &e2;
cout << "Bank Name: " << bea1.b->getName() << ",\tEmployee Name: " <<
bea1.e->getName() << endl;
cout << "Bank Name: " << bea2.b->getName() << ",\tEmployee Name: " <<
bea2.e->getName() << endl;
system("pause");
return 0;
2. Aggregation
Sample Program-2
#include <iostream>
#include <string>
class Address {
public:
string streetAddress;
string city;
streetAddress = sa;
city = c;
~Address() {
};
class Employee
private:
public:
int employeeId;
string name;
employeeId = id;
name = n;
address = addr;
void display()
cout << "Employee Address: " << address->streetAddress << ", " <<
address->city << endl;
~Employee() {
};
int main() {
{
Employee e1 = Employee(1010, "Usman", &a1);
e1.display();
e2.display();
system("pause");
return 0;
3. Composition
Sample Program-3
#include <iostream>
#include <string>
class Room {
public:
string roomName;
Room()
Room(string rn)
roomName = rn;
}
~Room() {
};
class House
private:
public:
string houseNo;
House()
houseNo = hn;
r.roomName = rn;
void display()
}
~House() {
};
int main() {
h1.display();
h2.display();
system("pause");
return 0;