fork download
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. using namespace std;
  5. class Employee
  6. {
  7. public:
  8. Employee(char *name, int id);
  9. ~Employee();
  10. char *getName()
  11. {
  12. return _name;
  13. }
  14. //Other Accessor methods
  15.  
  16. int _id;
  17. char *_name;
  18. };
  19.  
  20. Employee::Employee(char *name, int id)
  21. {
  22. _id = id;
  23. _name = new char[strlen(name) + 1];
  24. //Allocates an character array object
  25. strcpy(_name, name);
  26. }
  27.  
  28. Employee::~Employee()
  29. {
  30. delete[] _name;
  31. }
  32.  
  33. int main()
  34. {
  35. Employee programmer("John",22);
  36. cout << programmer.getName() << endl;
  37. cout << "address of programmer = " << (void*)&programmer << endl;
  38. cout << "address of programmer._id = " << (void*)&programmer._id << endl;
  39. cout << "address of programmer._name = " << (void*)&programmer._name << endl;
  40. cout << "programmer._name point to = " << (void*)programmer._name << endl;
  41.  
  42. Employee manager = programmer;
  43. cout << manager.getName() << endl;
  44. cout << "address of manager = " << (void*)&manager << endl;
  45. cout << "address of manager._id = " << (void*)&manager._id << endl;
  46. cout << "address of manager._name = " << (void*)&manager._name << endl;
  47. cout << "manager._name point to = " << (void*)manager._name << endl;
  48. return 0;
  49. }
  50.  
Runtime error #stdin #stdout 0.01s 3836KB
stdin
Standard input is empty
stdout
John
address of programmer       = 0xbf8baba4
address of programmer._id   = 0xbf8baba4
address of programmer._name = 0xbf8baba8
programmer._name point to   = 0x8e8a008
John
address of manager       = 0xbf8bab9c
address of manager._id   = 0xbf8bab9c
address of manager._name = 0xbf8baba0
manager._name point to   = 0x8e8a008