#include <iostream>
#include<cmath>
using namespace std;
class FciIdentity
{
private :
string id;
string fciMail;
public :
FciIdentity( ) { }
FciIdentity( string id, string fciMail)
{
this- > id = id;
this- > fciMail = fciMail;
}
void setID( string id)
{
this- > id = id;
}
string getID( )
{
return this- > id;
}
void setfciMail( string fciMail)
{
this- > fciMail = fciMail;
}
string getfciMail( )
{
return this- > fciMail;
}
} ;
class FciStudent
{
private :
string name;
int age;
FciIdentity* FciID;
public :
FciStudent( ) { }
FciStudent( string name, int age)
{
this- > name = name;
this- > age = age;
FciID = new FciIdentity;
}
void setname( string name)
{
this- > name = name;
}
string getname( )
{
return this- > name;
}
void setage( int age)
{
this- > age = age;
}
int getage( )
{
return this- > age;
}
void print( )
{
cout << "Name of the Student: " << name << endl;
cout << "And His Age is: " << age << endl;
}
} ;
class FCICourse
{
private :
string name;
int maxNumberOfStudentsCanBeEnrolled;
FciStudent* studentsEnrolled[ ] ;
public :
FCICourse( ) { } ;
FCICourse( string name, int maxStudentsNum)
{
this- > name = name;
maxNumberOfStudentsCanBeEnrolled = maxStudentsNum;
}
void setName( string name)
{
this- > name = name;
}
string getName( )
{
return this- > name;
}
void setMaxStudentsNum( int maxStudentsNum)
{
maxNumberOfStudentsCanBeEnrolled = maxStudentsNum;
}
int getMaxStudentsNum( )
{
return maxNumberOfStudentsCanBeEnrolled;
}
bool addStudent( FciStudent * student)
{
}
void print( )
{
cout << "----------------------------------------------" << endl<< "Course is : " << name<< endl<< "Students Enrolled are : " << maxNumberOfStudentsCanBeEnrolled<< endl;
}
} ;
int main( )
{
FciStudent beso;
beso.setname ( "Super_Beso" ) ;
beso.setage ( 40 ) ;
beso.getage ( ) ;
beso.print ( ) ;
FCICourse oop;
oop.setName ( "OOP" ) ;
oop.setMaxStudentsNum ( 200 ) ;
oop.print ( ) ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxjbWF0aD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgpjbGFzcyBGY2lJZGVudGl0eQp7CnByaXZhdGU6CiAgICBzdHJpbmcgaWQ7CiAgICBzdHJpbmcgZmNpTWFpbDsKcHVibGljOgogICAgRmNpSWRlbnRpdHkoKSB7fQogICAgRmNpSWRlbnRpdHkoc3RyaW5nIGlkLCBzdHJpbmcgZmNpTWFpbCkKICAgIHsKICAgICAgICB0aGlzLT5pZCA9IGlkOwogICAgICAgIHRoaXMtPmZjaU1haWwgPSBmY2lNYWlsOwogICAgfQogICAgdm9pZCBzZXRJRChzdHJpbmcgaWQpCiAgICB7CiAgICAgICAgdGhpcy0+aWQgPSBpZDsKICAgIH0KICAgIHN0cmluZyBnZXRJRCgpCiAgICB7CiAgICAgICAgcmV0dXJuIHRoaXMtPmlkOwogICAgfQogICAgdm9pZCBzZXRmY2lNYWlsKHN0cmluZyBmY2lNYWlsKQogICAgewogICAgICAgIHRoaXMtPmZjaU1haWwgPSBmY2lNYWlsOwogICAgfQogICAgc3RyaW5nIGdldGZjaU1haWwoKQogICAgewogICAgICAgIHJldHVybiB0aGlzLT5mY2lNYWlsOwogICAgfQp9OwoKY2xhc3MgRmNpU3R1ZGVudAp7CnByaXZhdGU6CiAgICBzdHJpbmcgbmFtZTsKICAgIGludCBhZ2U7CiAgICBGY2lJZGVudGl0eSogRmNpSUQ7CnB1YmxpYzoKICAgIEZjaVN0dWRlbnQoKSB7fQogICAgRmNpU3R1ZGVudChzdHJpbmcgbmFtZSwgaW50IGFnZSkKICAgIHsKICAgICAgICB0aGlzLT5uYW1lID0gbmFtZTsKICAgICAgICB0aGlzLT5hZ2UgPSBhZ2U7CiAgICAgICAgRmNpSUQgPSBuZXcgRmNpSWRlbnRpdHk7CiAgICB9CiAgICB2b2lkIHNldG5hbWUoc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgdGhpcy0+bmFtZSA9IG5hbWU7CiAgICB9CiAgICBzdHJpbmcgZ2V0bmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuIHRoaXMtPm5hbWU7CiAgICB9CiAgICB2b2lkIHNldGFnZShpbnQgYWdlKQogICAgewogICAgICAgIHRoaXMtPmFnZSA9IGFnZTsKICAgIH0KICAgIGludCBnZXRhZ2UoKQogICAgewogICAgICAgIHJldHVybiB0aGlzLT5hZ2U7CiAgICB9CiAgICB2b2lkIHByaW50KCkKICAgIHsKICAgICAgICBjb3V0IDw8ICJOYW1lIG9mIHRoZSBTdHVkZW50OiAiIDw8IG5hbWUgPDwgZW5kbDsKICAgICAgICBjb3V0IDw8ICJBbmQgSGlzIEFnZSBpczogIiA8PCBhZ2UgPDwgZW5kbDsKICAgIH0KfTsKY2xhc3MgRkNJQ291cnNlCnsKcHJpdmF0ZToKICAgIHN0cmluZyBuYW1lOwogICAgaW50IG1heE51bWJlck9mU3R1ZGVudHNDYW5CZUVucm9sbGVkOwogICAgRmNpU3R1ZGVudCogc3R1ZGVudHNFbnJvbGxlZFtdOwoKcHVibGljOgogICAgRkNJQ291cnNlKCkge307CiAgICBGQ0lDb3Vyc2Uoc3RyaW5nIG5hbWUsIGludCBtYXhTdHVkZW50c051bSkKICAgIHsKICAgICAgICB0aGlzLT5uYW1lID0gbmFtZTsKICAgICAgICBtYXhOdW1iZXJPZlN0dWRlbnRzQ2FuQmVFbnJvbGxlZCA9IG1heFN0dWRlbnRzTnVtOwogICAgfQoKICAgIHZvaWQgc2V0TmFtZShzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICB0aGlzLT5uYW1lID0gbmFtZTsKICAgIH0KICAgIHN0cmluZyBnZXROYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gdGhpcy0+bmFtZTsKICAgIH0KICAgIHZvaWQgc2V0TWF4U3R1ZGVudHNOdW0oaW50IG1heFN0dWRlbnRzTnVtKQogICAgewogICAgICAgIG1heE51bWJlck9mU3R1ZGVudHNDYW5CZUVucm9sbGVkID0gbWF4U3R1ZGVudHNOdW07CiAgICB9CiAgICBpbnQgZ2V0TWF4U3R1ZGVudHNOdW0oKQogICAgewogICAgICAgIHJldHVybiBtYXhOdW1iZXJPZlN0dWRlbnRzQ2FuQmVFbnJvbGxlZDsKICAgIH0KCiAgICBib29sIGFkZFN0dWRlbnQoRmNpU3R1ZGVudCAqc3R1ZGVudCkKICAgIHsKCiAgICB9CgogICAgdm9pZCBwcmludCgpCiAgICB7CiAgICAgICAgY291dCA8PCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIjw8ZW5kbDw8IkNvdXJzZSBpcyA6ICI8PG5hbWU8PGVuZGw8PCJTdHVkZW50cyBFbnJvbGxlZCBhcmUgOiAiPDxtYXhOdW1iZXJPZlN0dWRlbnRzQ2FuQmVFbnJvbGxlZDw8ZW5kbDsKICAgIH0KCn07CgoKaW50IG1haW4oKQp7CiAgICBGY2lTdHVkZW50IGJlc287CiAgICBiZXNvLnNldG5hbWUoIlN1cGVyX0Jlc28iKTsKICAgIGJlc28uc2V0YWdlKDQwKTsKICAgIGJlc28uZ2V0YWdlKCk7CiAgICBiZXNvLnByaW50KCk7CgogICAgRkNJQ291cnNlIG9vcDsKICAgIG9vcC5zZXROYW1lKCJPT1AiKTsKICAgIG9vcC5zZXRNYXhTdHVkZW50c051bSgyMDApOwogICAgb29wLnByaW50KCk7CgogICAgcmV0dXJuIDA7Cn0K