Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Student {
- public:
- Student(string x, int y) {
- name = x;
- age = y;
- }
- Student( ) {
- }
- ~Student() {
- }
- string name;
- int age;
- int flag;
- void set_flag (int f) {
- flag = f;
- }
- bool operator==(const Student &student1) {
- if (flag == 1) return (name == student1.name);
- else return (age == student1.age); // if flag == 2 and ...
- }
- bool operator>(const Student &student1) {
- if (flag == 1) return (name > student1.name);
- else return (age > student1.age);
- }
- bool operator<(const Student &student1) {
- if (flag == 1) return (name < student1.name);
- else return (age < student1.age);
- }
- bool operator<=(const Student &student1) {
- if (flag == 1) return (name <= student1.name);
- else return (age <= student1.age);
- }
- bool operator>=(const Student &student1) {
- if (flag == 1) return (name >= student1.name);
- else return (age >= student1.age);
- }
- bool operator!=(const Student &student1) {
- if (flag == 1) return (name != student1.name);
- else return (age != student1.age);
- }
- };
- std::ostream &operator<<(std::ostream &os, Student const &student) {
- if (student.flag == 1) return os << student.name;
- else return os << student.age;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement