fork download
  1. using System;
  2.  
  3. namespace TestAppication
  4. {
  5. public class MainClass
  6. {
  7. abstract class CBaseClass
  8. {
  9. public int iCount;
  10.  
  11. public CBaseClass() {
  12. Console.WriteLine("CbaseClass created");
  13. icount=30;
  14. }
  15.  
  16. public virtual void Add() {
  17. iCount+=20;
  18. }
  19.  
  20. public virtual void Add() {
  21. iCount+=20;
  22. }
  23.  
  24. public virtual void Add(int iAdd) {
  25. iCount+=iAdd;
  26. }
  27.  
  28. public void Subtract(){
  29. iCount-=20;
  30. }
  31.  
  32. public abstract void Subtract(int iSubtract);
  33.  
  34. public override string ToString() {
  35. return base.ToString()+"-- Methods of CBaseClass";
  36. }
  37.  
  38. ~CBaseClass() {
  39. Console.WriteLine("CBaseClass deleted");
  40. }
  41.  
  42. };
  43.  
  44. class CDerivedClass : CBaseClass
  45. {
  46. public CDerivedClass() {
  47. Console.WriteLine("CDerivedClass created");
  48. iCount = 50;
  49. }
  50.  
  51. public override void add() {
  52. iCount+=20;
  53. }
  54.  
  55. public void add(int iAdd) {
  56. iCount+=iAdd;
  57. }
  58.  
  59. public void Subtract() {
  60. iCount-=10;
  61. }
  62.  
  63. ~CDerivedClass() {
  64. Console.WriteLine("CDerivedClass deleted");
  65. }
  66. };
  67.  
  68. static void main () {
  69.  
  70. CDerivedClass deriveObject = new CDerivedClass();
  71. CBaseClass basePointer = new CDerivedClass();
  72. CDerivedClass notUsed;
  73.  
  74. Console.WriteLine("1: " +deriveObject.iCount);
  75. deriveObject.Add();
  76.  
  77. Console.WriteLine("2: " +deriveObject.iCount);
  78. basePointer.Add(30);
  79.  
  80. Console.WriteLine("3: " +basePointer.iCount);
  81. basePointer.Subtract();
  82.  
  83. Console.WriteLine("4: " +basePointer.iCount);
  84. basePointer.Subtract(20);
  85.  
  86. Console.WriteLine("5: " +basePointer.iCount);
  87.  
  88. Console.WriteLine("6: {0}" , basePointer);
  89.  
  90. }
  91. }
  92. }
  93.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cs(20,27): error CS0111: A member `TestAppication.MainClass.CBaseClass.Add()' is already defined. Rename this member or use different parameter types
prog.cs(16,27): (Location of the symbol related to previous error)
prog.cs(51,27): error CS0115: `TestAppication.MainClass.CDerivedClass.add()' is marked as an override but no suitable method found to override
prog.cs(59,18): warning CS0108: `TestAppication.MainClass.CDerivedClass.Subtract()' hides inherited member `TestAppication.MainClass.CBaseClass.Subtract()'. Use the new keyword if hiding was intended
prog.cs(28,19): (Location of the symbol related to previous warning)
Compilation failed: 2 error(s), 1 warnings
stdout
Standard output is empty