05.09.2016 Views

Стефан Р. - С++ Для чайников

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. "Классическое" программирование

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!