#include <iostream>
#include <cstring>
using namespace std;
#ifndef CLASS2_HPP
#define CLASS2_HPP
class Passenger
{
public:
enum class Location
{
Business,
Economy,
Vip
};
Passenger(Location clas_s, char* firstName, char* secondName, int seat, int terminal, float time_of_departure);
const char* get_location() const;
int get_seat() const;
int get_terminal() const;
float get_time() const;
char* get_firstName() const;
char* get_secondName() const;
void print() const;
private:
Location _clas_s;
char _firstName[50];
char _secondName[50];
int _seat;
int _terminal;
float _time_of_departure;
};
#endif // CLASS2
Passenger::Passenger(Location clas_s, char* firstName, char* secondName, int seat, int terminal, float time_of_departure)
: _clas_s(clas_s), _seat(seat), _terminal(terminal), _time_of_departure(time_of_departure) {
strcpy(_firstName, firstName);
strcpy(_secondName, secondName);
};
void Passenger::print() const
{
cout << "Your name is " << _firstName
<< " " << _secondName << endl
<< "Your class is " << get_location() << endl
<< "Your seat is " << _seat << endl
<< "Your terminal is " << _terminal << endl
<< "Your time of departure is " << _time_of_departure << endl;
}
const char* Passenger::get_location() const
{
switch (_clas_s)
{
case Location::Business : return "Business";
case Location::Economy : return "Economy";
case Location::Vip : return "Vip";
}
}
int main() {
Passenger p((Passenger::Location::Vip), "John", "Johnson", 25, 2, 13.53);
p.print();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojaWZuZGVmIENMQVNTMl9IUFAKI2RlZmluZSBDTEFTUzJfSFBQCgpjbGFzcyBQYXNzZW5nZXIKewoKcHVibGljOgoKICAgIGVudW0gY2xhc3MgTG9jYXRpb24KICAgIHsKICAgICAgICBCdXNpbmVzcywKICAgICAgICBFY29ub215LAogICAgICAgIFZpcAogICAgfTsKCiAgICBQYXNzZW5nZXIoTG9jYXRpb24gY2xhc19zLCBjaGFyKiBmaXJzdE5hbWUsIGNoYXIqIHNlY29uZE5hbWUsIGludCBzZWF0LCBpbnQgdGVybWluYWwsIGZsb2F0IHRpbWVfb2ZfZGVwYXJ0dXJlKTsKCiAgICBjb25zdCBjaGFyKiBnZXRfbG9jYXRpb24oKSBjb25zdDsKICAgIGludCBnZXRfc2VhdCgpIGNvbnN0OwogICAgaW50IGdldF90ZXJtaW5hbCgpIGNvbnN0OwogICAgZmxvYXQgZ2V0X3RpbWUoKSBjb25zdDsKICAgIGNoYXIqIGdldF9maXJzdE5hbWUoKSBjb25zdDsKICAgIGNoYXIqIGdldF9zZWNvbmROYW1lKCkgY29uc3Q7CiAgICB2b2lkIHByaW50KCkgY29uc3Q7Cgpwcml2YXRlOgoKICAgIExvY2F0aW9uIF9jbGFzX3M7CiAgICBjaGFyIF9maXJzdE5hbWVbNTBdOwogICAgY2hhciBfc2Vjb25kTmFtZVs1MF07CiAgICBpbnQgX3NlYXQ7CiAgICBpbnQgX3Rlcm1pbmFsOwogICAgZmxvYXQgX3RpbWVfb2ZfZGVwYXJ0dXJlOwoKfTsKCiNlbmRpZiAvLyBDTEFTUzIKCgoKClBhc3Nlbmdlcjo6UGFzc2VuZ2VyKExvY2F0aW9uIGNsYXNfcywgY2hhciogZmlyc3ROYW1lLCBjaGFyKiBzZWNvbmROYW1lLCBpbnQgc2VhdCwgaW50IHRlcm1pbmFsLCBmbG9hdCB0aW1lX29mX2RlcGFydHVyZSkKOiBfY2xhc19zKGNsYXNfcyksIF9zZWF0KHNlYXQpLCBfdGVybWluYWwodGVybWluYWwpLCBfdGltZV9vZl9kZXBhcnR1cmUodGltZV9vZl9kZXBhcnR1cmUpIHsKCXN0cmNweShfZmlyc3ROYW1lLCBmaXJzdE5hbWUpOwoJc3RyY3B5KF9zZWNvbmROYW1lLCBzZWNvbmROYW1lKTsKfTsKCnZvaWQgUGFzc2VuZ2VyOjpwcmludCgpIGNvbnN0CnsKICAgIGNvdXQgPDwgIllvdXIgbmFtZSBpcyAiIDw8IF9maXJzdE5hbWUKICAgIDw8ICIgIiA8PCBfc2Vjb25kTmFtZSA8PCBlbmRsCiAgICA8PCAiWW91ciBjbGFzcyBpcyAiIDw8IGdldF9sb2NhdGlvbigpIDw8IGVuZGwKICAgIDw8ICJZb3VyIHNlYXQgaXMgIiA8PCBfc2VhdCA8PCBlbmRsCiAgICA8PCAiWW91ciB0ZXJtaW5hbCBpcyAiIDw8IF90ZXJtaW5hbCA8PCBlbmRsCiAgICA8PCAiWW91ciB0aW1lIG9mIGRlcGFydHVyZSBpcyAiIDw8IF90aW1lX29mX2RlcGFydHVyZSA8PCBlbmRsOwp9Cgpjb25zdCBjaGFyKiBQYXNzZW5nZXI6OmdldF9sb2NhdGlvbigpIGNvbnN0CnsKICAgIHN3aXRjaCAoX2NsYXNfcykKICAgIHsKICAgICAgICBjYXNlIExvY2F0aW9uOjpCdXNpbmVzcyA6IHJldHVybiAiQnVzaW5lc3MiOwogICAgICAgIGNhc2UgTG9jYXRpb246OkVjb25vbXkgOiByZXR1cm4gIkVjb25vbXkiOwogICAgICAgIGNhc2UgTG9jYXRpb246OlZpcCA6IHJldHVybiAiVmlwIjsKICAgIH0KfQoKaW50IG1haW4oKSB7CgogICAgUGFzc2VuZ2VyIHAoKFBhc3Nlbmdlcjo6TG9jYXRpb246OlZpcCksICJKb2huIiwgIkpvaG5zb24iLCAyNSwgMiwgMTMuNTMpOwogICAgcC5wcmludCgpOwoKICAgIHJldHVybiAwOwp9