Advertisement
Guest User

OOP_7 MultiInheritance

a guest
Sep 1st, 2015
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.07 KB | None | 0 0
  1. /*
  2. შექმენით საბაზო კლასი Mark, რომელიც იქნება მანქანის მარკა
  3. შექმენით საბაზო კლასი Model, რომელიც იქნება მანქანის მოდელი
  4. შექმენით კლასი Car, რომელიც იქნება Mark, Model კლასების მემკვირდრე და მას
  5. ჰქონდეს ერთი ველი year.
  6.  
  7. გადატვირთეთ მხოლოდ გამოტანოს ოპერატორები. მოახდინეთ სამი Car
  8. კლასის ინიციალიზაცია და დაბეჭდეთ მათი ინფორმაცია.
  9. */
  10.  
  11. #include<iostream>
  12. #include<string>
  13.  
  14. using namespace std;
  15.  
  16. class Mark{
  17. protected:
  18.     string mark;
  19. public:
  20.     Mark(string m = "Mercedes");
  21.     string getMark();
  22. };
  23.  
  24. Mark::Mark(string m){
  25.     mark = m;
  26. }
  27.  
  28. string Mark::getMark(){
  29.     return mark;
  30. }
  31.  
  32. class Model{
  33. protected:
  34.     string model;
  35. public:
  36.     Model(string m = "ML 350");
  37.     string getModel();
  38. };
  39.  
  40. Model::Model(string m){
  41.     model = m;
  42. }
  43.  
  44. string Model::getModel(){
  45.     return model;
  46. }
  47.  
  48. class Car : public Mark, public Model{
  49. private :
  50.     int year;
  51. public:
  52.     Car(string mrk, string mdl, int y);
  53.     int getYear();
  54.     friend ostream& operator<< (ostream& out, Car &car);
  55. };
  56.  
  57. Car::Car(string mrk, string mdl, int y) :Mark(mrk), Model(mdl){
  58.     year = y;
  59. }
  60.  
  61. ostream& operator<< (ostream& out, Car &car){
  62.     out << "Car Mark : " << car.mark << "\t" << "Car Model : " << car.model << "\t" << "Car year : " << car.year << endl;
  63.     return out;
  64. }
  65.  
  66. int Car::getYear(){
  67.     return year;
  68. }
  69.  
  70. int main(){
  71.  
  72.     Car c1("KAMAZ","KAMAZ",1989);
  73.  
  74.     cout << c1 << endl << endl;
  75.  
  76.     Car c2("BMW", "X6", 2010);
  77.  
  78.     cout << c2 << endl << endl;
  79.  
  80.     Car c3("LEXUS", "LX 330", 2008);
  81.  
  82.     cout << c3 << endl << endl;
  83.  
  84.  
  85.     Mark &markRef = c3;
  86.  
  87.     cout << "Car as mark " << endl;
  88.     cout << markRef.getMark() << endl;
  89.  
  90.     return 0;
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement