c# - Overriding toSting in derived class -


i have abstract class animal looking this

abstract class animal{     protected int numberofpaws;      public abstract string speak();      public string tostring(){         return "i have " + numberofpaws + " paws";     } } 

then have derived class has new implementation of tostring() looking this

class cow : animal{     public cow : base(4) {}      public override string speak(){         return "moo!";     }      public new strinf tostring(){         return "i cow " + base.tostring();     } } 

and have main looking this

void main{     cow c = new cow();      console.writeline(c.tostring()); } 

but when run prints userquery+cow console.

i have no clue i'm doing wrong? doing beacause of base.tostring()?

use override keyword:

abstract class animal {     protected int numberofpaws;      public abstract string speak();      public override string tostring(){         return "i have " + numberofpaws + " paws";     } }  class cow : animal {     public cow : base(4) {}      public override string speak(){         return "moo!";     }      public override string tostring(){         return "i cow " + base.tostring();     } } 

Comments

Popular posts from this blog

android - MPAndroidChart - How to add Annotations or images to the chart -

javascript - Add class to another page attribute using URL id - Jquery -

firefox - Where is 'webgl.osmesalib' parameter? -