Вправи з використанням перевантажених методів.
1. Сигнатура методу
Завдання: Визначіть сигнатуру приведеного методу:
int Summa(int a, int b = 0, int c = 0)
{
return a + b + c;
}
Summa(int, int, int)
2. Максимальне з трьох чисел
Завдання: Напишіть програму, яка знаходить максимальне з трьох дробових чисел, що вводяться з клавіатури, використовуючи перевантаження методу для пошуку максимального з двох значень.
using System;
class Program
{
static float Maximum(float x, float y)
{
if (x > y)
return x;
else
return y;
}
static float Maximum(float x, float y, float z)
{
var max = Maximum(x, y);
if (max > z)
return max;
else
return z;
}
static void Main(string[] args)
{
Console.Write("Введіть перше число: ");
var f1 = Convert.ToSingle(Console.ReadLine());
Console.Write("Введіть друге число: ");
var f2 = Convert.ToSingle(Console.ReadLine());
Console.Write("Введіть третє число: ");
var f3 = Convert.ToSingle(Console.ReadLine());
Console.WriteLine($"Максимальне з трьох чисел {Maximum(f1, f2, f3)}");
Console.ReadLine();
}
}
3. Множення чисел
Завдання: Напишіть перевантажені методи, у скороченій формі(лямбда), які приймають на вхід дві цілі числа, перемножують їх та в залежності від типу додають до результату: 1 – для uint, 2 – для int, 3 – для long.
using System;
class Program
{
static uint MultX(uint b1, uint b2) => b1 * b2 + 1;
static int MultX(int n1, int n2) => n1 * n2 + 2;
static long MultX(long l1, long l2) => l1 * l2 + 3;
static void Main(string[] args)
{
Console.WriteLine($"uint 2*3 = {MultX(2U, 3U)}");
Console.WriteLine($"int 2*3 = {MultX(2, 3)}");
Console.WriteLine($"long 2*3 = {MultX(2L, 3L)}");
Console.ReadLine();
}
}