Question: Question Try putting a SuperInt on the right hand side of an assignment statement using theValue(). Does it work? Why? Take away: nothing too interesting,
Question
- Try putting a SuperInt on the right hand side of an assignment statement using theValue(). Does it work? Why?
- Take away: nothing too interesting, we can return the value of an instance variable. But, in this case we are returning the reference to the variable!
- Try putting a SuperInt on the left hand side of an assignment statement using theValue(). Does it work? Why?
- Take away: First, returning a const type means the function cannot be a l-value. Second, if the the return type is not of const , then, if the receiver of this function is an integer reference, then, the receiver can change this instance variable! Ask me if you don't understand what I mean.
Coding (finish in 20min)
- Update the member function theValue() of SuperInt class so that SuperInt can be put on the left hand side of an assignment statement using theValue().
- Create a new class "SuperSuperInt," which inherits the "SuperInt" class. Please declare and define this class in separate .h and .cpp files, and DO NOT update SuperInt.h and SuperInt.cpp directly. Please name your new files as "SuperSuperInt.cpp" and "SuperSuperInt.h."
- Add one member function theValue() to SuperSuperInt.
- Code the member function theValue() of SuperSuperInt to return the value of data member "myValue" in SuperInt. Please make sure the returned value of theValue() CANNOT be put on the left hand side of an assignment statement.
#include
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
