Есть идеи, почему это печатает -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