Мне интересно, почему я не получаю сообщение об ошибке в коде ниже.Я не определил конструкторов в базовом классе, но определил один в производном классе.Тем не менее код работает как ожидалось.Может кто-нибудь любезно помочь мне избавиться от путаницы.
class Shape
{
public void Area()
{
Console.WriteLine("I am a shape");
}
}
class Circle : Shape
{
double radius;
const double pi = 3.14;
public Circle(double rad)
{
radius = rad;
}
public new double Area()
{
return pi * radius * radius;
}
}
Код отлично компилируется и дает мне желаемые результаты.Спасибо,
class Progam
{
static void Main(string[] args)
{
Shape s1 = new Shape();
s1.Area();
Shape s2 = new Circle(10);
s2.Area();
Circle c1 = new Circle(4.0);
Console.WriteLine(c1.Area());
}
}