|
Программирование >> Элементы языков с и с++
for (int i = О ; i < ARRAY SIZE ; i++) local[i] -> m i = local[i] -> m i + 2; int mainO Головная функция ( int i; /♦Объявляется массив MyClassO и инициализируется функцией TestO(): происходит присвоение значений одного массива значениям другого массива, т. к. массивы идентичны по построению*/ аггау< MyClass MyClassO; MyClassO = TestOО; /*Вывод значений массива на экран*/ for (i = О ; i < ARRAY SIZE ; i++) Console::WriteLine( MyClassO[(0}] = {1} , i, MyClassO[i] ->m i); Console::WriteLine(); /♦Объявляется массив чисел IntArray[] и инициализируется функцией TestK) :♦/ array< Int32 IntArray; IntArray = Testl0; /♦Вывод значений массива на экран/ for (i = О ; i < ARRAY SIZE ; i++) Console::WriteLine( IntArray[{0}] = (1} , i, IntArray[i]); Console::WriteLine(); /♦Объявляется и инициализируется массив MyClassl:/ array< MyClass MyClassl = gcnew array< MyClass > (ARRAY SIZE); for (i = 0 ; i < ARRAY SIZE ; i++) MyClassl[i] = gcnew MyClass; MyClassl[i] -> m i = i + 20; , /♦Удаление массивов после применения оператора new (среда CLR сама освобождает память) : * / delete[] MyClass2[0]; delete[] MyClass2[l]; Использование конструктора класса*/ array< MyStruct MyStructl = gcnew array< MyStruct >(ARRAY SIZE); /♦Вывод значений массива на экран*/ for (i = О ; i < ARRAY SIZE ; i++) Console::WriteLine( MyClassl[{О}] = (1} , i, MyClassl[i] -> m i); Console::WriteLine(); /Объявляется массив обычных указателей и инициализируется : */ аггау< MyNativeClass * MyClass2 = gcnew array< MyNativeClass * >(ARRAY SIZE); for (i = 0 ; i < ARRAY SIZE ; i++) { /♦Обратите внимание, что вместо утилиты gcnew применяется new, т. к. последняя утилита работает с нормальными указателями, задаваемыми символом * , а gcnew - с указателями среды CLR, задаваемыми символом */ MyClass2[i] = new MyNativeClass(); MyClass2[i] -> m i = i + 30; ) /♦Вывод значений массива на экран*/ for (i = О ; i < ARRAY SIZE ; i++) Console::WriteLine( MyClass2[{0}] = {1} , i, MyClass2[i]->m i); Console::WriteLine 0; /♦Модификация массива и вьшод значений на экран*/ est2 (MyClass2) ; for (i = О ; i < ARRAY SIZE ; i++) Console::WriteLine( MyClass2[{0}] = (1} , i, MyClass2[i]->m i); Console::WriteLine(); for (i = О ; i < ARRAY SIZE ; i++) { модификация элементов класса MyStructl[i] = MystructО; Конструктор класса создает экземпляр класк MyStructl[i].m i = i + 40; /*Вывод значений массива на экран*/ for (i = О ; i < ARRAY SIZE ; i++) Console::WriteLine( MyStructl[(0}] (1} , i, MyStructl[i] .mi); C:\WINDOWS\system32V:rod.exe i] = 32 I - 33 II = 41 жения нажмите любую клавишу Рис. 8.5. Результаты обработки массива типа array
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |