|
Программирование >> Расширенная версия языка c++
Приложение. Ответы и решения упражнений 507 cou здключение принтера р2 ... \п ; р2.set print(1); if{inuse(pl, p2)) cou Теперь принтер занят\п ; return 0; Проверка усвоения материала главы 3 1. Для того чтобы присвоить один объект другому, необходимо, чтобы тип обоих объектов был одинаков. 2. Присваивать оЫ и оЬ ильно, так как память, на которую в начале указывал указатель р объекта оЫ. теряется, поскольку это значение указателя р при присваивании переписывается. Таким образом, такую память становится невозможно освободить, и наоборот, память, на которую в начале указывал указатель р обьекта оЫ, при удалении этого объекта освобождается дважды, что может привести к повреждению системы динамического выделения памяти. 3. in (planet p) return p.getjniles О / 186000,5. Загрузка алфавита в стек using namespace std; #define size 27 Объявление класса ack: для символов г class stack { cha SIZE] ; содержит стек in м; индекс вершины стека public: stack О; конструктор void push (char ch) ; помещает свол в стек cha 0; мкивает свол из стека } / - , . 1. Инициализация стека stack: : stack () cou Работа конструктора стека \п ; 508 Самоучитель C++ tos = 0; - 1- -iio , i 1 : Запись ствола в стек void stack: ;push(char ch) ( if (tos==SISE) I couL Стек полон \n ; li ! return; ! }\l -,-1. 3tck[tos] = ch; , -, . , ..... . .:. . v . r- tos++; .. I 1-. Выталкивание ствола из стека char stack: :pop() .. * гП! if (tO5=0) { -К- ц--!-- , ><. cou Стек пуст \n ; return 0; возврат нуля при пустом стеке I -- :. . V : tos-; return void 3how3tack(stacko) ; stack loadstackO; stack si; . . . . r si = loadstackO ; showstack(sl); ; return 0; Вывод на экран содержого стека void showstdCkisLack о) char с; когда выполнение этой инструкции завертся, стек о остеет cout с cout Загрузка стека стволами алфавита stack loadstackO : Приложение В. Ответы на вопросы и решения упражнений 509 stack t; char с; for(c=a; c<=z; C-I-+) t.push(c); return t; 6. При передаче объекта функции в качестве аргумента и при возвращении объекта из функции в качестве возвращаемого значения, создается временный объект, который удаляется при завершении работы функции. При удалении временного объекта деструктор может удалить в программе нечто такое, что может еще пригодиться. 7. Дружественная функция - это функция, не являющаяся членом класса, но обеспечивающая доступ к закрытой части класса, для которого она дружественна. Еще раз, дружественная функция имеет доступ к закрытой части класса, для которого она дружественна, но не является членом этого класса. Проверка усвоения материала в целом 1. Загрузка алфавита в стек linclude <iQstream> linclude <cctype> using namespace std; Idefine SIZE 27 Объявление класса stack для символов class stack { cha SIZE] ; содержит стек in tes; индекс вершины стека public: конструктор void push(char ch) ; помещает символ в стек - . . cha () ; выталкивает символ из стека . . ; . . }; а,лизация стека Stack;:stackO cout << Работа конструктора стека \п ; tos = 0; Запись символа в стек void stack: : push (char ch)
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |