public virtual double CalcPay()
Console.WriteLine("Employee.CalcPay()");
class Salaried_Employee : Employee
public double BaseSalary { get; set; }
public override double CalcPay()
Console.WriteLine("Salaried_Employee.CalcPay()");
class Hourly_Employee : Employee
public double HourlyRate { get; set; }
public double CalcPay(int hours)
Console.WriteLine("Hourly_Employee.CalcPay()");
public static void Main()
var sEmployee = new Salaried_Employee();
Console.WriteLine(sEmployee.CalcPay());
var hEmployee = new Hourly_Employee();
Console.WriteLine(hEmployee.CalcPay(3));