@ -11,7 +11,11 @@ int NumberClass::Number () const
}
int NumberClass::NegativeNumber () const
{
return -(this->num);
return -(this->Number ());
NumberClass::~NumberClass ()
this->num = 0;
@ -60,4 +64,8 @@ ClassThatOverridesStuff::ClassThatOverridesStuff (int num, int my)
int ClassThatOverridesStuff::Number () const
return this->myNum;
int ClassThatOverridesStuff::BaseNumber () const
return this->NumberClass::Number ();
@ -4,8 +4,9 @@ protected:
int num;
public:
NumberClass (int n);
virtual int Number () const;
virtual int NegativeNumber () const;
virtual ~NumberClass ();
};
class AdderClass : public NumberClass {
@ -48,4 +49,5 @@ protected:
ClassThatOverridesStuff (int num, int my);
virtual int BaseNumber () const;
@ -74,7 +74,8 @@ namespace Tests {
var cls = new ClassThatOverridesStuff (5, 3);
Assert.AreEqual (3, cls.Number, "#1");
Assert.AreEqual (3, ((NumberClass)cls).Number, "#2");
Assert.AreEqual (-5, cls.NegativeNumber, "#3");
Assert.AreEqual (-3, cls.NegativeNumber, "#3");
Assert.AreEqual (5, cls.BaseNumber, "#4");