This blog represents OverLoading And OverRiding functions.
We have Class A
class A
{ virtual
public void add(int
a)
Console.WriteLine(a);
//Console.WriteLine("pavan");
}
virtual public void add(int a, int b)
{
Console.WriteLine(a+b);
}
virtual public void add(int a, int b, int c)
{
Console.WriteLine(a + b + c);
}}
We inherited Class A
class B:A
{override public void add(int x)
{
Console.WriteLine(x);
}
override public void add(int i, int j)
{
Console.WriteLine(i + j);
}
override public void add(int a, int b, int c)
{
Console.WriteLine(a + b + (c=0));
}
Class B is inherited to Class C
class C:B
{override public void add(int c)
{
Console.WriteLine(c);
}
override public void add(int a, int b)
{
Console.WriteLine(a + b);
//Console.WriteLine("basya");
}
override public void add(int a, int b, int c)
{
Console.WriteLine(a + b + c);
}
}
In MAIN function
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
A a = new A();
a.add(5);
a.add(4, 0);
a.add(3, 5, 7);
B b = new B();
b.add(9);
b.add(2, 4);
b.add(1, 2, 4);
C c = new C();
c.add(9);
c.add(8, 6);
c.add(12, 34, 12);
Console.ReadKey();
}
}
}
Following snapshot shows the output…


Join the conversation! Your thoughts help the community grow.