السلام عليكم و رحمة الله و بركاته:
أتمنى منكم شرح هذا الكود بالتفصيل
class Employee {
public:
Employee(const char *, const char * );
~Employee();
const char *getFirstName() const;
const char *getLastName() const;
static int getCount();
private:
char *firstName;
char *lastName;
static int count;
};
Employee::count = 0;
int Employee::getCount()
{ return count; }
Employee::Employee( const char *first, const char *last ){
firstName = new char[strlen(first)+1 ];
strcpy( firstName, first );
lastName = new char[strlen(last) + 1 ];
strcpy( lastName, last );
++count;
}
Employee::~Employee(){
delete [] firstName;
delete [] lastName;
--count;
}
int main()
{
cout << "Number of employees before instantiation is "
<< Employee::getCount() << endl; // use class name
Employee *e1Ptr = new Employee( "Susan", "Baker" );
Employee *e2Ptr = new Employee( "Robert", "Jones" );
cout << "Number of employees after instantiation is "
<< e1Ptr-> getCount();
delete e1Ptr; // recapture memory
e1Ptr = 0; // disconnect pointer from free-store space
delete e2Ptr; // recapture memory
e2Ptr = 0; // disconnect pointer from free-store space
cout << "Number of employees after deletion is "
<< Employee::getCount() << endl;
return 0;
}و جزاكم الله خيرا
