public abstract BoolResult IsBigger(BoolResult second);
public abstract BoolResult IsLess(BoolResult second);
public abstract CalculationResult Multiply(BoolResult second);
public abstract CalculationResult Divide(BoolResult second);
public abstract CalculationResult Add(BoolResult second);
public abstract CalculationResult Substract(BoolResult second);
public override CalculationResult Substract(BoolResult second) { throw new Exception("Can`t substract Strings."); }
public override CalculationResult Multiply(BoolResult second) { throw new Exception("Can`t multiply bools."); }
public override CalculationResult Add(BoolResult second) { return(new StringResult(this.Value + second.Value)); }
public override CalculationResult Divide(BoolResult second) { throw new Exception("Can`t divide strings."); }
public override CalculationResult Add(BoolResult second) { throw new Exception("Can`t add number and bool."); }
public override BoolResult IsLess(BoolResult second) { return(new BoolResult(false)); }
public override BoolResult IsBigger(BoolResult second) { return(new BoolResult(true)); }