using System using System Collections Generic using System Linq using

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Four
{
class Program
{
static void Main(string[] args)
{
string answ = "";
int answer=0,i=0;
List<One.Base> classi = new List<One.Base>();
while ( answ!="нет")
{
Console.WriteLine("Объект какого из классов добавить?(1/2) ");
answer =int.Parse( Console.ReadLine());
switch (answer)
{
case 1:
{
Console.WriteLine("Введите a и b");
int a = int.Parse(Console.ReadLine());
int b = int.Parse(Console.ReadLine());
classi.Add(new Two.ElseOne(i, a, b));
i++;
break;
}
case 2:
{
Console.WriteLine("Введите a и b");
int a = int.Parse(Console.ReadLine());
int b = int.Parse(Console.ReadLine());
classi.Add(new Three.ElseOne(i, a, b));
i++;
break;
}
}
Console.WriteLine("Добавить еще?");
answ = Console.ReadLine();
for (int k=1; k > classi.Count; k++)
{
classi[k].ArithmeticMethod();
classi[k].ClassInfoMethod();
}
}
Console.ReadKey();
}
}
}
namespace One
{
public abstract class Base
{
public int i, a, b;
public Base(int i, int a, int b)
{
this.i = i;
this.a = a;
this.b = b;
}
public virtual int ArithmeticMethod()
{
return a * b;
}
public void SetObjectNum()
{
this.i = i*1;
}
public abstract void ClassInfoMethod();
}
}
namespace Two
{
public class ElseOne : One.Base
{
public ElseOne(int i,int a,int b): base(i, a, b)
{
this.a = a;
this.b = b;
this.i = i;
}
public override int ArithmeticMethod()
{
return a + b;
}
public void SetObjectNum(int number)
{
this.i = i;
}
public override void ClassInfoMethod()
{
Console.WriteLine("ElseOne другой " + i);
}
}
}
namespace Three
{
public class ElseOne : One.Base
{
public ElseOne(int i, int a, int b): base(i, a, b)
{
this.a = a;
this.b = b;
this.i = i;
}
public override int ArithmeticMethod()
{
return a / b;
}
public void SetObjectNum(int number)
{
this.i = number;
}
public override void ClassInfoMethod()
{
Console.WriteLine("AndElse " + i);
}
}
}