- #include <iostream> 
- #include <string> 
- #include <cstdlib> 
- using namespace std; 
-   
- class person{ 
-     public: 
-         string name; 
-         person() { 
-   
-         } 
-         person(string n){ 
-             name = n ; 
-         } 
-   
-         void setName(string k){ 
-             name = k; 
-         } 
-         string getName(){ 
-             return name; 
-         } 
- }; 
- class student : public  person { 
-     public: 
-         string major; 
-         void setMajor(string m){ 
-             major = m; 
-         } 
-         string getMajor(){ 
-             return major; 
-         } 
- }; 
- class faculty : public person{ 
-     public: 
-         string department; 
-         faculty(string dept){ 
-             department = dept; 
-         } 
-         void setDepartment(string depart){ 
-             department = depart; 
-         } 
-         string getDepartment(){ 
-             return department; 
-         } 
- }; 
-   
- int main() { 
-   
-     student s; 
-   
-     s.setName("james"); 
-     s.setMajor("computer science"); 
-   
-     string p = s.getName(); 
-     string p2 = s.getMajor(); 
-   
-     cout << "student name and mjor is :" << p << p2 << endl; 
-     faculty f("nanotech"); 
-     f.setName("chris"); 
-     f.setDepartment("electrical"); 
-     string f1 = f.getName(); 
-     string f2 = f.getDepartment(); 
-     cout << "facult name and department :" << f1 << f2 << endl; 
-   
-     return 0; 
- } 
				I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y3N0ZGxpYj4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIHBlcnNvbnsKICAgIHB1YmxpYzoKICAgICAgICBzdHJpbmcgbmFtZTsKICAgICAgICBwZXJzb24oKSB7CiAgICAgICAgCQogICAgICAgIH0KICAgICAgICBwZXJzb24oc3RyaW5nIG4pewogICAgICAgICAgICBuYW1lID0gbiA7CiAgICAgICAgfQoKICAgICAgICB2b2lkIHNldE5hbWUoc3RyaW5nIGspewogICAgICAgICAgICBuYW1lID0gazsKICAgICAgICB9CiAgICAgICAgc3RyaW5nIGdldE5hbWUoKXsKICAgICAgICAgICAgcmV0dXJuIG5hbWU7CiAgICAgICAgfQp9OwpjbGFzcyBzdHVkZW50IDogcHVibGljICBwZXJzb24gewogICAgcHVibGljOgogICAgICAgIHN0cmluZyBtYWpvcjsKICAgICAgICB2b2lkIHNldE1ham9yKHN0cmluZyBtKXsKICAgICAgICAgICAgbWFqb3IgPSBtOwogICAgICAgIH0KICAgICAgICBzdHJpbmcgZ2V0TWFqb3IoKXsKICAgICAgICAgICAgcmV0dXJuIG1ham9yOwogICAgICAgIH0KfTsKY2xhc3MgZmFjdWx0eSA6IHB1YmxpYyBwZXJzb257CiAgICBwdWJsaWM6CiAgICAgICAgc3RyaW5nIGRlcGFydG1lbnQ7CiAgICAgICAgZmFjdWx0eShzdHJpbmcgZGVwdCl7CiAgICAgICAgICAgIGRlcGFydG1lbnQgPSBkZXB0OwogICAgICAgIH0KICAgICAgICB2b2lkIHNldERlcGFydG1lbnQoc3RyaW5nIGRlcGFydCl7CiAgICAgICAgICAgIGRlcGFydG1lbnQgPSBkZXBhcnQ7CiAgICAgICAgfQogICAgICAgIHN0cmluZyBnZXREZXBhcnRtZW50KCl7CiAgICAgICAgICAgIHJldHVybiBkZXBhcnRtZW50OwogICAgICAgIH0KfTsKCmludCBtYWluKCkgewoKICAgIHN0dWRlbnQgczsKCiAgICBzLnNldE5hbWUoImphbWVzIik7CiAgICBzLnNldE1ham9yKCJjb21wdXRlciBzY2llbmNlIik7CgogICAgc3RyaW5nIHAgPSBzLmdldE5hbWUoKTsKICAgIHN0cmluZyBwMiA9IHMuZ2V0TWFqb3IoKTsKCiAgICBjb3V0IDw8ICJzdHVkZW50IG5hbWUgYW5kIG1qb3IgaXMgOiIgPDwgcCA8PCBwMiA8PCBlbmRsOwogICAgZmFjdWx0eSBmKCJuYW5vdGVjaCIpOwogICAgZi5zZXROYW1lKCJjaHJpcyIpOwogICAgZi5zZXREZXBhcnRtZW50KCJlbGVjdHJpY2FsIik7CiAgICBzdHJpbmcgZjEgPSBmLmdldE5hbWUoKTsKICAgIHN0cmluZyBmMiA9IGYuZ2V0RGVwYXJ0bWVudCgpOwogICAgY291dCA8PCAiZmFjdWx0IG5hbWUgYW5kIGRlcGFydG1lbnQgOiIgPDwgZjEgPDwgZjIgPDwgZW5kbDsKCiAgICByZXR1cm4gMDsKfQ==