#include <iostream>
#include <cstring>
using namespace std;
class Person
{
public:
string ID;
string name;
string surname;
string department;
string email;
public:
//get and set functions for ID, Name, Surname, Department, Email properties
string getID()
{
return this->ID;
};
void setID(string _ID)
{
this->ID = _ID;
};
string getName()
{
return this->name;
};
void setName(string _name)
{
this->name = _name;
};
string getSurname()
{
return this->surname;
};
void setSurname(string _surname)
{
this->surname = _surname;
};
string getDepartment()
{
return this->department;
};
void setDepartment(string _department)
{
this->department = _department;
};
string getEmail()
{
return this->email;
};
void setEmail(string _email)
{
this->email = _email;
};
};
//inherit Student class from Person class
class Student :public Person
{
private:
static int student_counter;
static Student _S[100];
public:
//constructor
Student()
{
};
Student(string id, string Name, string Surname, string Department, string Email)
{
setID(id);
setName(Name);
setSurname(Surname);
setDepartment(Department);
setEmail(Email);
}
//student add
static void addStudent(string id, string Name, string Surname, string Department, string Email)
{
if (student_counter >= 100)
{
cout << "cant add more students";
}
else
{
Student newS;
newS.setID(id);
newS.setName(Name);
newS.setSurname(Surname);
newS.setDepartment(Department);
newS.setEmail(Email);
_S[student_counter] = newS;
student_counter++;
}
}
//display students
static void display()
{
for (int i = 0; i < student_counter; i++)
{
cout << _S[i].getID() << " - ";
}
}
};
int Student::student_counter = 0;
Student Student::_S[100];
int main()
{
Student::addStudent("ST123456", "Ege", "Inan", "CS", "ege @ gmail.com");
Student::display();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpjbGFzcyBQZXJzb24KewpwdWJsaWM6CiAgICBzdHJpbmcgSUQ7CiAgICBzdHJpbmcgbmFtZTsKICAgIHN0cmluZyBzdXJuYW1lOwogICAgc3RyaW5nIGRlcGFydG1lbnQ7CiAgICBzdHJpbmcgZW1haWw7CgpwdWJsaWM6CiAgICAvL2dldCBhbmQgc2V0IGZ1bmN0aW9ucyBmb3IgSUQsIE5hbWUsIFN1cm5hbWUsIERlcGFydG1lbnQsIEVtYWlsIHByb3BlcnRpZXMKICAgIHN0cmluZyBnZXRJRCgpCiAgICB7CiAgICAgICAgcmV0dXJuIHRoaXMtPklEOwogICAgfTsKCiAgICB2b2lkIHNldElEKHN0cmluZyBfSUQpCiAgICB7CiAgICAgICAgdGhpcy0+SUQgPSBfSUQ7CiAgICB9OwoKICAgIHN0cmluZyBnZXROYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gdGhpcy0+bmFtZTsKICAgIH07CgogICAgdm9pZCBzZXROYW1lKHN0cmluZyBfbmFtZSkKICAgIHsKICAgICAgICB0aGlzLT5uYW1lID0gX25hbWU7CiAgICB9OwoKICAgIHN0cmluZyBnZXRTdXJuYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gdGhpcy0+c3VybmFtZTsKICAgIH07CgogICAgdm9pZCBzZXRTdXJuYW1lKHN0cmluZyBfc3VybmFtZSkKICAgIHsKICAgICAgICB0aGlzLT5zdXJuYW1lID0gX3N1cm5hbWU7CiAgICB9OwoKICAgIHN0cmluZyBnZXREZXBhcnRtZW50KCkKICAgIHsKICAgICAgICByZXR1cm4gdGhpcy0+ZGVwYXJ0bWVudDsKICAgIH07CgogICAgdm9pZCBzZXREZXBhcnRtZW50KHN0cmluZyBfZGVwYXJ0bWVudCkKICAgIHsKICAgICAgICB0aGlzLT5kZXBhcnRtZW50ID0gX2RlcGFydG1lbnQ7CiAgICB9OwoKICAgIHN0cmluZyBnZXRFbWFpbCgpCiAgICB7CiAgICAgICAgcmV0dXJuIHRoaXMtPmVtYWlsOwogICAgfTsKCiAgICB2b2lkIHNldEVtYWlsKHN0cmluZyBfZW1haWwpCiAgICB7CiAgICAgICAgdGhpcy0+ZW1haWwgPSBfZW1haWw7CiAgICB9Owp9OwoKLy9pbmhlcml0IFN0dWRlbnQgY2xhc3MgZnJvbSBQZXJzb24gY2xhc3MKY2xhc3MgU3R1ZGVudCA6cHVibGljIFBlcnNvbgp7CnByaXZhdGU6CglzdGF0aWMgaW50IHN0dWRlbnRfY291bnRlcjsKCXN0YXRpYyBTdHVkZW50IF9TWzEwMF07CgpwdWJsaWM6CgkvL2NvbnN0cnVjdG9yCglTdHVkZW50KCkKCXsKCX07CgoJU3R1ZGVudChzdHJpbmcgaWQsIHN0cmluZyBOYW1lLCBzdHJpbmcgU3VybmFtZSwgc3RyaW5nIERlcGFydG1lbnQsIHN0cmluZyBFbWFpbCkKCXsKCQlzZXRJRChpZCk7CgkJc2V0TmFtZShOYW1lKTsKCQlzZXRTdXJuYW1lKFN1cm5hbWUpOwoJCXNldERlcGFydG1lbnQoRGVwYXJ0bWVudCk7CgkJc2V0RW1haWwoRW1haWwpOwoJfQoKCS8vc3R1ZGVudCBhZGQgCglzdGF0aWMgdm9pZCBhZGRTdHVkZW50KHN0cmluZyBpZCwgc3RyaW5nIE5hbWUsIHN0cmluZyBTdXJuYW1lLCBzdHJpbmcgRGVwYXJ0bWVudCwgc3RyaW5nIEVtYWlsKQoJewoJCWlmIChzdHVkZW50X2NvdW50ZXIgPj0gMTAwKQoJCXsKCQkJY291dCA8PCAiY2FudCBhZGQgbW9yZSBzdHVkZW50cyI7CgkJfQoJCWVsc2UKCQl7CgkJCVN0dWRlbnQgbmV3UzsKCQkJbmV3Uy5zZXRJRChpZCk7CgkJCW5ld1Muc2V0TmFtZShOYW1lKTsKCQkJbmV3Uy5zZXRTdXJuYW1lKFN1cm5hbWUpOwoJCQluZXdTLnNldERlcGFydG1lbnQoRGVwYXJ0bWVudCk7CgkJCW5ld1Muc2V0RW1haWwoRW1haWwpOwoJCQlfU1tzdHVkZW50X2NvdW50ZXJdID0gbmV3UzsKCQkJc3R1ZGVudF9jb3VudGVyKys7CgkJfQoJfQoKCS8vZGlzcGxheSBzdHVkZW50cwoJc3RhdGljIHZvaWQgZGlzcGxheSgpCgl7CgkJZm9yIChpbnQgaSA9IDA7IGkgPCBzdHVkZW50X2NvdW50ZXI7IGkrKykKCQl7CgkJCWNvdXQgPDwgX1NbaV0uZ2V0SUQoKSA8PCAiIC0gIjsKCQl9Cgl9Cn07CgppbnQgU3R1ZGVudDo6c3R1ZGVudF9jb3VudGVyID0gMDsKU3R1ZGVudCBTdHVkZW50OjpfU1sxMDBdOwoKaW50IG1haW4oKQp7CiAgICBTdHVkZW50OjphZGRTdHVkZW50KCJTVDEyMzQ1NiIsICJFZ2UiLCAiSW5hbiIsICJDUyIsICJlZ2UgQCBnbWFpbC5jb20iKTsKICAgIFN0dWRlbnQ6OmRpc3BsYXkoKTsKfQ==