Методика испытаний класса связного списка

На рисунках 28, 29 представлен код, демонтстрирующий способы применения класса связного списка целочисленных значений в программе: явное объявление объектов связного списка, вызовы методов добавления, удаления, вставки элементов, применение операторов присваивания и индексирования и т.д. В таблице 2 приведены номера строк демонстрационного кода (см. рис. 28, 29), в которых осуществляются неявные вызовы конструктора копирования, деструктора или оператора присваивания.

На защите лабораторной работы необходимо продемонстрировать в режиме отладки (по примеру п.3.5.3) все случаи невного вызова специальных методов класса связного списка, описанные в таблице 2. При этом необходимо подробно объяснить, для какого объекта и в какой момент исполнения программы вызывается тот или иной метод.


Рис. 28. Демонстрация применения объектов класса связного списка
в коде программы (начало)


Рис. 29. Демонстрация применения объектов класса связного списка
в коде программы (продолжение)

Таблица 2

Перечень вызовов специальных методов класса связного списка

Вызовы деструктора

 

Явный вызов деструктора в функции CopyList, (в конструкторе копирования);

 

Неявный вызов деструктора локального объекта  при выходе из функции PrintList

 
Вызовы конструктора копирования

 

Неявный вызов конструктора копирования для локального параметра функции PrintList

 
Вызовы конструктора по умолчанию

Вызов конструктора по умолчанию

 

 
Назначение

Объявление списка

Вывод списка на экран

 
Функции и операторы, вызываемые в главной функции

List list1, list3, list4;

void PrintList(List list)

 
Номер строки

281

295,

302,

309,

316,

323,

326,

341,

344

 

Явный вызов деструктора в функции CopyList, 

  (2 раза)

 

Неявный вызов деструктора для локального объекта при выходе из функции InputList, а также для временного объекта в стеке

Явный вызов деструктора при вызове функции CopyList

Явный вызов деструктора при вызове функции CopyList

Неявный вызов конструктора копирования для возвращаемого значения функции InputList

Явный вызов конструктора копирования

 

Вызов конструк-тора по умолчанию для локального объекта функции InputList

 

 

Формирование списка с консоли

Формирование списка на основе существующего

Оператор присваивания

list3 = InputList()

List list2 = list1

list4 = list3

331

313

337

             







Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: