ВУЗ:
Составители:
Рубрика:
107
такой процедуры может понадобиться анализ – какой реальный тип массива
передан в процедуру.
Рисунок 24. Отношение наследования на классах-массивах
Рассмотрим пример подобной процедуры. Ранее для печати элементов
массива использовались различные процедуры PrintAr1, PrintAr2 и так далее, по
одной для каждого класса массива. Теперь приведем общую процедуру,
формальный аргумент которой будет принадлежать родителю всех классов-
массивов, что позволит передавать массив любого класса в качестве
фактического аргумента:
public void PrintAr(string name, Array A)
{
Console.WriteLine(name);
switch (A.Rank)
{
case 1:
for (int i = 0; i < A.GetLength(0); i++)
Console.Write("\t" + name + "[{0}]={1}", i, A.GetValue(i));
Console.WriteLine();
break;
case 2:
for (int i = 0; i < A.GetLength(0); i++)
{
for (int j = 0; j < A.GetLength(1); j++)
Console.Write("\t" + name + "[{0},{1}]={2}", i, j, A.GetValue(i, j));
Console.WriteLine();
}
break;
Страницы
- « первая
- ‹ предыдущая
- …
- 101
- 102
- 103
- 104
- 105
- …
- следующая ›
- последняя »
