fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class SubstituteTeacher {
  5. public:
  6. SubstituteTeacher();
  7. ~SubstituteTeacher();
  8. SubstituteTeacher& operator=(const SubstituteTeacher& objToCopy);
  9.  
  10. void SetSubject(const string setVal) {
  11. *subject = setVal;
  12. }
  13.  
  14. string GetSubject() const {
  15. return *subject;
  16. }
  17. private:
  18. string* subject;
  19. };
  20.  
  21. SubstituteTeacher::SubstituteTeacher() {
  22. subject = new string;
  23. *subject = "none";
  24. }
  25.  
  26. SubstituteTeacher::~SubstituteTeacher() {
  27. delete subject;
  28. }
  29.  
  30. SubstituteTeacher& SubstituteTeacher::operator=(const SubstituteTeacher& objToCopy) {
  31. if (this != &objToCopy) {
  32. delete subject;
  33. subject = new string;
  34. *subject = *(objToCopy.subject);
  35. }
  36.  
  37. return *this;
  38. }
  39.  
  40. int main() {
  41. SubstituteTeacher msDorf;
  42. SubstituteTeacher mrDiaz;
  43. SubstituteTeacher msPark;
  44.  
  45. msPark.SetSubject("English");
  46. msDorf = msPark;
  47. mrDiaz.SetSubject("Math");
  48. msPark = mrDiaz;
  49.  
  50. cout << msPark.GetSubject() << endl;
  51. cout << msDorf.GetSubject() << endl;
  52.  
  53. return 0;
  54. }
Success #stdin #stdout 0s 5280KB
stdin
Standard input is empty
stdout
Math
English