mplement the copy constructor and copy assignment operator of the derived class Runner in a way that derived class and base class' object attributes are properly handled.
ADD CODE IN LINE 13, where it is written
//your code goes below here
Assume the following class fully implemented
1. class Olympic
2. {
3. char* m_name;
4. public:
5. Olympic(const char* name);
6. Olympic(const Olympic& ro);
7. Olympic& operator=(const Olympic& ro);
8. void setName(const char* name);
9. virtual void mission();
10. std::ostream& display(std::ostream& os = std::cout);
11. virtual ~Olympic();
12. };
13. std::ostream& operator<<(std::ostream& os, Olympic& r);
14.
Implement the copy constructor and copy assignment operator of the derived class Runner in a way that derived class and base class' object attributes are properly handled.
1. class Runner :public Olympic
2.
3. {
4. int m_speed;
5. char* m_colour = nullptr;
6. public:
7. // assume these functions are fully implemented and working perfectly
8. Runner(const char* name = "John", const char* c_colour = "blue", int power = 5);
9. void setColour(const char* c_colour);
10. std::ostream& display(std::ostream& os = std::cout);
11. void mission();
12. ~Runner();
13. //your code goes below here
14.
15. };
16.
17. std::ostream& operator<<(std::ostream& os, Runner& r);
18.
Step by step
Solved in 2 steps