Неожиданный выбор функций в C# [Duplicate]C#

Место общения программистов C#
Ответить
Anonymous
 Неожиданный выбор функций в C# [Duplicate]

Сообщение Anonymous »

Есть идеи, почему это печатает -10 -10? Я ожидал, что первый отпечаток составит 30, поскольку B должен унаследовать int foo (int a, int b), но это не так. Обе печатные издания называют Double Foo (Double A, Double B). < /P>
Однако, если я изменю int foo на: public String foo (String a, String b), то первый отпечаток - 1020, как я и ожидал. Что -то связано с прята? < /P>
class A
{
public int Foo(int a, int b)
{
return a + b;
}
}

class B : A
{
public B() { }

public double Foo(double a, double b)
{
return a - b;
}
}

class Program
{
public static void Main()
{
int a1 = 10, b1 = 20;
double a2 = 10.5, b2 = 20.5;
B b = new B();
Console.WriteLine($"{b.Foo(a1, b1)} {b.Foo(a2, b2)}");
}
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... in-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»