Advertisement
Guest User

OOP_5 Inheritance

a guest
Aug 27th, 2015
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.71 KB | None | 0 0
  1. /*
  2. შექმენით საბაზო კლასი House, რომელსაც ექნება ერთი ველი rooms.
  3. შექმენით მემკვიდრე კლასი Room რომელსაც ექნება ველი area.
  4.  
  5. შექმენით ფუნქცია Room კლასში რომელიც დაბეჭდავს ინფორმაციას მთლიანად
  6. შენობის შესახებ:
  7. ოთახების რაოდენობა, ოთახის ფართობი და შენობის ფართობი.
  8.  
  9. ვიგულისხმოთ რომ ყველა ოთახს ერთი და იგივე ფართობი აქვს
  10. */
  11.  
  12. #include <iostream>
  13.  
  14. using namespace std;
  15.  
  16. class Building{
  17. protected:
  18.     int rooms;
  19. public:
  20.     Building(int r);
  21.     void printInfo();
  22. };
  23.  
  24. class Room : public Building{
  25. private :
  26.     double area;
  27. public:
  28.     Room(int r,double a);
  29.     void printInfo();
  30. };
  31.  
  32. Building::Building(int r){
  33.     rooms = r;
  34. }
  35.  
  36. void Building::printInfo(){
  37.     cout << "Number of rooms = " << rooms << endl;
  38. }
  39.  
  40. Room::Room(int r, double a) : Building(r){
  41.     area = a;
  42. }
  43.  
  44. void Room::printInfo(){
  45.     Building::printInfo();
  46.     cout << "Area of each room = " << area << endl;
  47.     cout << "Area of building = " << rooms*area << endl;
  48. }
  49.  
  50. int main(){
  51.  
  52.     Building build1(5);
  53.     build1.printInfo();
  54.  
  55.     cout << endl << endl;
  56.  
  57.     Room room1(3, 4.75);
  58.     room1.printInfo();
  59.  
  60.     cout << endl << endl;
  61.  
  62.     build1 = room1;
  63.     build1.printInfo();
  64.  
  65.     cout << endl << endl;
  66.  
  67.     Room room2(7,19.96);
  68.     Building* bPtr = &room2;
  69.     bPtr->printInfo();
  70.  
  71.     cout << endl << endl;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement