static void Main() { Op.sanity_check(); { Op op = new Op(100); Op opNew = op++; if (op.i != 101) throw new Exception("operator++ postfix failed (op)"); if (opNew.i != 100) throw new Exception("operator++ postfix failed (opNew)"); } { Op op = new Op(100); Op opNew = op--; if (op.i != 99) throw new Exception("operator-- postfix failed (op)"); if (opNew.i != 100) throw new Exception("operator-- postfix failed (opNew)"); } { Op op = new Op(100); Op opNew = ++op; if (op.i != 101) throw new Exception("operator++ prefix failed (op)"); if (opNew.i != 101) throw new Exception("operator++ prefix failed (opNew)"); } { Op op = new Op(100); Op opNew = --op; if (op.i != 99) throw new Exception("operator-- prefix failed (op)"); if (opNew.i != 99) throw new Exception("operator-- prefix failed (opNew)"); } // overloaded operator class Op k = new OpDerived(3); int check_k = k.IntCast(); Assert(check_k == 6); }
static void Main() { Op.sanity_check(); { Op op = new Op(100); Op opNew = op++; if (op.i != 101) { throw new Exception("operator++ postfix failed (op)"); } if (opNew.i != 100) { throw new Exception("operator++ postfix failed (opNew)"); } } { Op op = new Op(100); Op opNew = op--; if (op.i != 99) { throw new Exception("operator-- postfix failed (op)"); } if (opNew.i != 100) { throw new Exception("operator-- postfix failed (opNew)"); } } { Op op = new Op(100); Op opNew = ++op; if (op.i != 101) { throw new Exception("operator++ prefix failed (op)"); } if (opNew.i != 101) { throw new Exception("operator++ prefix failed (opNew)"); } } { Op op = new Op(100); Op opNew = --op; if (op.i != 99) { throw new Exception("operator-- prefix failed (op)"); } if (opNew.i != 99) { throw new Exception("operator-- prefix failed (opNew)"); } } // overloaded operator class Op k = new OpDerived(3); int check_k = k.IntCast(); Assert(check_k == 6); }