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…