using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace OverLoad
{
class Caculator
{
//1---int Add(int,int) 版本
public int Add(int val1, int val2)
{
System.Console.WriteLine("Add(int,int): {0} + {1} = {2}", val1, val2, val1 + val2);
return val1 + val2;
}
//2---float Add(int,float) 版本
public float Add(int val1, float f1)
{
System.Console.WriteLine("Add(int,float): {0} + {1} = {2}", val1, f1, val1 + f1);
return val1 + f1;
}
//3---float Add(float,int) 版本
public float Add(float f1, int val2)
{
System.Console.WriteLine("Add(float,int): {0} + {1} = {2}", f1, val2, f1 + val2);
return f1 + f1;
}
//4---int Add(int) 版本
public int Add(int val)
{
System.Console.WriteLine("Add(int): {0} + 1 = {1}", val, val + 1);
return val + 1;
}
}
class Program
{
static void Main(string[] args)
{
Caculator calor = new Caculator( );
//分别调用4个不同的版本
calor.Add(1, 2);
calor.Add(1, 2.2f);
calor.Add(2.2f, 1);
calor.Add(3);
//calor.Add(1.1f, 2.2f); //错误,没有Add(float,float)版本的重载
Console.ReadKey();暂停窗口
}
}
}
函数重载,在这大型项目开发也经常用到,企业面试题里也常有,很重要!