struct: навъе, ки худатон тарҳрезӣ мекунед
Ҷуфт ду нимаи дорои номи собит дорад. Вақте чизе се ё зиёдтар қимат дорад, ё вақте first ва second маънои қиматҳоро пинҳон мекунанд, навъи худро бо struct муайян мекунед:
Ин чунин маъно дорад: Book маҷмуаест аз string бо номи title, int бо номи year ва int бо номи pages. Инҳо майдонҳо-и он ҳастанд. Ба нуқтавергул баъд аз қавси пӯшанда диққат диҳед. Нанавиштани он хатои классикии сохтор аст: g++ мегӯяд expected ';' after struct definition ва ба ҳамин } ишора мекунад. (Виростор дар лаборатория онро дигар хел мегӯяд, вале хато ҳамон аст.)
Таъриф танҳо нақша аст: он тағйирёбанда намесозад. Тағйирёбандаҳои навъи нав мисли дигарон сохта мешаванд, ва ба майдон бо нуқта дастрасӣ мегиранд:
Сохтор болотар аз main муайян карда мешавад, мисли функсия, то ки ҳама чизи поён навъи навро бидонад.
Вектори сохторҳо
Сохтор мисли навъҳои дигар навъ аст, бинобар ин vector<Book> вектори китобҳост, ва shelf[i].year соли i-умин аз онҳост.
n китобро хонед: ном, сол ва шумораи саҳифа. Шумораи умумии саҳифаҳоро ва ном ва соли қадимтарин китобро чоп кунед.
Вуруд
Баромад
Сикл индекс-и қадимтарин китобро нигоҳ медорад. Дар охир ҳар майдонро тавассути ин индекс хонда мешавад.
Сохторҳо дар функсияҳо
Сохторҳо ба функсияҳо бо қоидаҳои шиноси шумо меоянд. Функсияе, ки сохторро танҳо мехонад, const Book &b қабул мекунад: нусхаи ном сохта намешавад. Функсияе, ки онро тағйир медиҳад, Book &b қабул мекунад:
Бо Book c = {"Emma", 1815, 474}; даъвати addPages(c, 26); c.pages-ро ба 500 баробар мекунад, ва isOld(c) ҳақ аст. Функсия метавонад сохторро низ баргардонад, ки бо return {…} мисли ҷуфт сохта мешавад.
Акнун сохторро аз нав созед: навъҳоро интихоб кунед, майдонҳоро бо тартиб пур кунед ва онҳоро дубора бихонед.