Advertisement
DacCum

Untitled

Nov 4th, 2021
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.70 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class Transport{
  6.     protected:
  7.         int numberSeats;
  8.         float horsepower;
  9.     public:
  10.         Transport(){}
  11.         Transport(float _horsepower, int _numberSeats) : horsepower(_horsepower), numberSeats(_numberSeats){}
  12.  
  13.         void set(){
  14.             cout << " horsepower: ";
  15.             cin >> horsepower;
  16.             cout << " number of seats: ";
  17.             cin >> numberSeats;
  18.         }
  19.         void get(){
  20.             cout << " horsepower: " << horsepower << endl;
  21.             cout << " number of seats: " << numberSeats << endl;
  22.         }
  23.         friend istream& operator >> (istream& is, Transport& x);
  24.         friend ostream& operator << (ostream& os, Transport& x);
  25. };
  26. class ElectricTransport : public Transport{
  27.     private:
  28.         float powerReserve;
  29.  
  30.     public:
  31.         ElectricTransport() : Transport(){}
  32.         ElectricTransport( float _powerReserve, float _horsepower, int _numberSeats) : Transport(_horsepower, _numberSeats),
  33.         powerReserve(_powerReserve){}
  34.  
  35.         void set(){
  36.             cout << " Plese, enter information about electric transport:" << endl;
  37.             Transport::set();
  38.             cout << " power reserve: ";
  39.             cin >> powerReserve;
  40.             cout << endl;
  41.         }
  42.         void get(){
  43.             cout << " Information about electric transport:" << endl;
  44.             Transport::get();
  45.             cout << " power reserve: " << powerReserve << endl;
  46.             cout << endl;
  47.         }
  48.         friend istream& operator >> (istream& is, ElectricTransport& x);
  49.         friend ostream& operator << (ostream& os, ElectricTransport& x);
  50. };
  51. class RailwayTransport : public Transport{
  52.     private:
  53.         string route;
  54.  
  55.     public:
  56.         RailwayTransport() : Transport(){}
  57.  
  58.         RailwayTransport( string _route, float _horsepower, int _numberSeats) : Transport(_horsepower, _numberSeats),
  59.         route(_route){}
  60.  
  61.         void set(){
  62.             cout << " Please enter information about railway transport:" << endl;
  63.             Transport::set();
  64.             cout << " route: ";
  65.             cin >> route;
  66.             cout << endl;
  67.         }
  68.         void get(){
  69.             cout << " Information about railway transport:" << endl;
  70.             Transport::get();
  71.             cout << " route: " << route << endl;
  72.             cout << endl;
  73.         }
  74.         friend istream& operator >> (istream& is, RailwayTransport& x);
  75.         friend ostream& operator << (ostream& os, RailwayTransport& x);
  76. };
  77. istream& operator >> (istream& is, Transport& x){
  78.     cout << " horsepower: ";
  79.     is >> x.horsepower;
  80.     cout << " number of seats: ";
  81.     is >> x.numberSeats;
  82.            
  83.     return is;
  84. }
  85. ostream& operator << (ostream& os, Transport& x){
  86.         os << " horsepower: " << x.horsepower << endl;
  87.         os << " number of seats: " << x.numberSeats << endl;
  88. }
  89. istream& operator >> (istream& is, ElectricTransport& x){
  90.         cout << " Please enter information about electric transport: " << endl;
  91.         Transport* t = &x;
  92.         cin >> *t;
  93.         cout << " power reserve: ";
  94.         is >> x.powerReserve;
  95.         cout << endl;
  96.  
  97.     return is;
  98. }
  99. ostream& operator << (ostream& os, ElectricTransport& x){
  100.         cout << " Information about electric transport: " << endl;
  101.         Transport* t = &x;
  102.         cout << *t;
  103.         os << " power reserve: " << x.powerReserve << endl;
  104.         os << endl;
  105. }
  106. istream& operator >> (istream& is, RailwayTransport& x){
  107.         cout << " Please enter information about railway transport: " << endl;
  108.         Transport* t = &x;
  109.         cin >> *t;
  110.         cout << " route: "; is >> x.route;
  111.         cout << endl;
  112.  
  113.     return is;
  114. }
  115. ostream& operator << (ostream& os, RailwayTransport& x){
  116.         cout << " Information about railway transport: " << endl;
  117.         Transport* t = &x;
  118.         cout << *t;
  119.         os << " route: " << x.route << endl;
  120.         os << endl;
  121. }
  122. int main(){
  123.         ElectricTransport a;
  124.         cin >> a;
  125.         cout << " //// using cout //// " << endl;
  126.         cout << a;
  127.         cout << " //// using  get //// " << endl;
  128.         a.get();
  129.    
  130.         RailwayTransport b;
  131.         cin >> b;
  132.         cout << " //// using cout //// " << endl;
  133.         cout << b;
  134.         cout << " //// using  get //// " << endl;
  135.         b.get();
  136.  
  137.     return 0;
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement