新人求解答为什么值结果为零

class Calculate
{
protected int num1;
protected int num2;
public virtual void DispalyResult()
{
Console.WriteLine("请输入两个数");
num1 = Convert.ToInt32(Console.ReadLine());
num2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("两个数的结果是");
}

}
class Add:Calculate
{

    public override void DispalyResult()
    {
        int re = num1 + num2;
        Console.WriteLine("两个数之和为{0}",re);
    }
}
class Sub:Calculate
{
    public override void DispalyResult()
    {
        int re = num1 - num2;
        Console.WriteLine("两个数之差是{0}", re);
    }
}
class Program
{
    static void Main(string[] args)
    {
        #region
        #endregion
        Calculate c = new Calculate();
        c.DispalyResult();
        Console.WriteLine("请输入运算符“+,-,*,/”");
        string s = Console.ReadLine();
        if (s == "+")
        {
            Calculate ca = new Add();
            ca.DispalyResult();
        }
        if (s == "-")
        {
            Calculate ca = new Sub();
            ca.DispalyResult();
        }

    }
 public override void DispalyResult()
    {
        base.DispalyResult(); //加上
        int re = num1 + num2;
        Console.WriteLine("两个数之和为{0}",re);
    }

基类里面的 Console.WriteLine("两个数的结果是"); 删除。

另外这里用函数重写毫无意义。