Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
nSocialSecurity<br />
« "\n";<br />
int main(int argc, char* pArgs[])<br />
cout pNext;<br />
I<br />
return 0;<br />
Несмотря на внушительную длину, программа LinkedListData относительно проста.<br />
Функция main () начинается с вызова функции getData (), которая считывает элемент<br />
NameDataSet с клавиатуры. Если пользователь вводит строку "exit" в поле имени,<br />
getData () возвращает ноль. Функция main (} вызывает функцию addTail (), чтобы<br />
добавить элемент, который вернула getData (), в конец связанного списка.<br />
Если от пользователя больше не поступает элементов NameDataSet, функция<br />
main () выводит на экран все элементы списка, используя функцию displayData ().<br />
Функция getDataO выделяет из кучи пустой объект класса NameDataSet. После<br />
этого getData () ожидает ввода имени для записи его в соответствующее поле нового<br />
объекта. Если пользователь вводит в поле имени строку "exit", функция уничтожает<br />
последний созданный объект и возвращает 0. В противном случае getDataO считывает<br />
фамилию и номер социального страхования, после чего обнуляет указатель pNext<br />
и передает управление вызывающей функции.<br />
Никогда не оставляйте связывающие указатели не проинициализированными!<br />
Старая поговорка программистов гласит: "Не уверен — обнули".<br />
Функция addTail () из приведенного примера схожа с предыдущей версией<br />
addTail О, однако в отличие от нее она проверяет, не является ли данный список<br />
пустым. Если указатель pHead нулевой, то addTail О записывает в него указатель на<br />
текущий элемент и прекращает выполнение.<br />
Функция displayData () неоднократно встречалась нам ранее.<br />
170 Часть III. "Классическое" программирование