![]() |
|
Программирование >> Расширенная версия языка c++
552 Сг.моучитель C++ cou << Нельзя копировать массивы разных размеров ! \п ; exit(l) ,- for(i=0 ize; p[i] = ob.p[i]; return int main I int i; dynarray obi (10) , ob2(10), оЬЗ(100); Obl.pvst (3) - 10; i = obl.getO) ; . - . cout i Ob2 = obi; cout i Выполнение слеющей инструкции ведет к ошибке obi = оЬЗ; ! ! ! return 0; 1. #include <iostream> tinclude <cstring> #include <cstdlib> -v - using namespace class strtype I char int len; public: cou << Освобождение памяти по адресу << (unsigned) p delete []р; cha t() I return p; } strtype Приложение Ответы на вопросы и решения упражнений 553 char iopGrator[] (inti); . . strtype: : strtype{char*s) int 1; 1 en(s} + 1; p = new char [ 1 ] ; . if(!p) { cout Ошибка выделения памятиХп ; exit(l); len = 1; . .strcpy (p, 3} ; У/ Присваивание объекта strtype t Выяснение необходтюсти дополнительной памяти if (len < Qb.le.. { требуется выделение памяти р = new char if(!p) f cout i exit(l); len = strcpy(p, ob.p); return символы в строке char Sistrtype: :operatorn (inti) { - . . if (i<0 I 1 i>len-l) { cout индекса cout i выходит за границы exit(l) ; return p[i]; 554 Самоучитель C++ int I strtype а( Привет ), Ь( Здесь ); cout а.get о \п; cout b.getO \n; ; a b; теперь указатель р не перезаписывается cou а. get I) \п ; cout b.getO << Vn; Доступ к стволам посредством индексирования массива cout < а[0] а[1] а[2] \п ; Присваивание стволов посредством индексирования массива а[0] = X; , ,. а[1] = Y; а12] = Z; cout return 0; 2. #include <iostream> linclude <cstdlib> using namespace class dynarray I int *p; int size; public; s} ; dynarray 4operator=(dynarray Sob) ; Конструктор p = new int [s] ; if(!p) { cou Обка выделения Пс1мяти\п ; exit(l); size = s;
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |