Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Transport{
- protected:
- int numberSeats;
- float horsepower;
- public:
- Transport(){}
- Transport(float _horsepower, int _numberSeats) : horsepower(_horsepower), numberSeats(_numberSeats){}
- void set(){
- cout << " horsepower: ";
- cin >> horsepower;
- cout << " number of seats: ";
- cin >> numberSeats;
- }
- void get(){
- cout << " horsepower: " << horsepower << endl;
- cout << " number of seats: " << numberSeats << endl;
- }
- friend istream& operator >> (istream& is, Transport& x);
- friend ostream& operator << (ostream& os, Transport& x);
- };
- class ElectricTransport : public Transport{
- private:
- float powerReserve;
- public:
- ElectricTransport() : Transport(){}
- ElectricTransport( float _powerReserve, float _horsepower, int _numberSeats) : Transport(_horsepower, _numberSeats),
- powerReserve(_powerReserve){}
- void set(){
- cout << " Plese, enter information about electric transport:" << endl;
- Transport::set();
- cout << " power reserve: ";
- cin >> powerReserve;
- cout << endl;
- }
- void get(){
- cout << " Information about electric transport:" << endl;
- Transport::get();
- cout << " power reserve: " << powerReserve << endl;
- cout << endl;
- }
- friend istream& operator >> (istream& is, ElectricTransport& x);
- friend ostream& operator << (ostream& os, ElectricTransport& x);
- };
- class RailwayTransport : public Transport{
- private:
- string route;
- public:
- RailwayTransport() : Transport(){}
- RailwayTransport( string _route, float _horsepower, int _numberSeats) : Transport(_horsepower, _numberSeats),
- route(_route){}
- void set(){
- cout << " Please enter information about railway transport:" << endl;
- Transport::set();
- cout << " route: ";
- cin >> route;
- cout << endl;
- }
- void get(){
- cout << " Information about railway transport:" << endl;
- Transport::get();
- cout << " route: " << route << endl;
- cout << endl;
- }
- friend istream& operator >> (istream& is, RailwayTransport& x);
- friend ostream& operator << (ostream& os, RailwayTransport& x);
- };
- istream& operator >> (istream& is, Transport& x){
- cout << " horsepower: ";
- is >> x.horsepower;
- cout << " number of seats: ";
- is >> x.numberSeats;
- return is;
- }
- ostream& operator << (ostream& os, Transport& x){
- os << " horsepower: " << x.horsepower << endl;
- os << " number of seats: " << x.numberSeats << endl;
- }
- istream& operator >> (istream& is, ElectricTransport& x){
- cout << " Please enter information about electric transport: " << endl;
- Transport* t = &x;
- cin >> *t;
- cout << " power reserve: ";
- is >> x.powerReserve;
- cout << endl;
- return is;
- }
- ostream& operator << (ostream& os, ElectricTransport& x){
- cout << " Information about electric transport: " << endl;
- Transport* t = &x;
- cout << *t;
- os << " power reserve: " << x.powerReserve << endl;
- os << endl;
- }
- istream& operator >> (istream& is, RailwayTransport& x){
- cout << " Please enter information about railway transport: " << endl;
- Transport* t = &x;
- cin >> *t;
- cout << " route: "; is >> x.route;
- cout << endl;
- return is;
- }
- ostream& operator << (ostream& os, RailwayTransport& x){
- cout << " Information about railway transport: " << endl;
- Transport* t = &x;
- cout << *t;
- os << " route: " << x.route << endl;
- os << endl;
- }
- int main(){
- ElectricTransport a;
- cin >> a;
- cout << " //// using cout //// " << endl;
- cout << a;
- cout << " //// using get //// " << endl;
- a.get();
- RailwayTransport b;
- cin >> b;
- cout << " //// using cout //// " << endl;
- cout << b;
- cout << " //// using get //// " << endl;
- b.get();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement