Ob'ekt turi uchun kod raqami Biz xotirada bo'lgan ob'ekt sinfini qanday topishni bilamiz, lekin sinfini qanday bilamiz.
Biz diskdan ma'lumotlarini o'qimoqchi bo'lgan ob'ekt? Bizga yordam beradigan sehrli funksiya yo'q
bu bilan. Ob'ekt ma'lumotlarini diskka yozishda biz kod raqamini yozishimiz kerak
enum o'zgaruvchisi_turi) ob'ekt ma'lumotlaridan oldin to'g'ridan-to'g'ri diskka. Keyin, biz qachon ob'ektni fayldan xotiraga qaytarmoqchi bo'lsak, biz ushbu qiymatni o'qiymiz va yangisini yaratamiz ko'rsatilgan turdagi ob'ekt. Nihoyat, fayldagi ma'lumotlarni ushbu yangi ob'ektga ko'chirib olamiz.
Uy qurilishi buyumlari yo'q, iltimos Aytgancha, siz ob'ekt ma'lumotlarini istalgan joyda, masalan, massivda o'qish vasvasasiga tushishingiz mumkin char turiga oʻting va keyin ushbu hududga ishora qilish uchun obʼyektga koʻrsatgichni oʻrnatin bu kosher.
char someArray[MAX]; aClass* aPtr_to_Obj;
aPtr_to_Obj =reinterpret_cast(someArray); // don’t do this
Biroq, bu ob'ektni yaratmaydi va ko'rsatgichni ko'rsatgandek ishlatishga harakat qiladi
ob'ekt muammoga olib keladi. Ob'ektni yaratishning faqat ikkita qonuniy yo'li mavjud. Siz .. qila olasiz; siz ... mumkin uni kompilyatsiya vaqtida aniq belgilang:
aClass anObj;
Yoki uni ish vaqtida new bilan yaratishingiz va uning joylashuvini ko'rsatgichga belgilashingiz mumkin:
aPtr_to_Obj = new aClass;
Ob'ektni to'g'ri yaratganingizda, uning konstruktori chaqiriladi. Bu sizga kerak bo'lsa ham konstruktorni aniqlamagan va standart konstruktordan foydalanmoqda. Ob'ekt birdan ortiq unda ma'lumotlar bo'lgan xotira maydoni; bu shuningdek, a'zolar funktsiyalari to'plamidir, ulardan ba'zilari sizda yo'q
hatto ko'ring
EMPL_IO bilan oʻzaro aloqa Mana, dastur bilan o'zaro munosabatlarning bir nechta namunasi, unda biz menejer, olim, va xotiradagi ishchi, ularni diskka yozing, qayta o'qing va ularni ko'rsating. (Oddiylik uchun ko'p so'zli nomlar va unvonlarga ruxsat berilmaydi; Vitse-Prezident emas, Vitse-Prezident deb ayting.)
‘a’ -- add data for an employee
‘d’ -- display data for all employees
‘w’ -- write all employee data to file
‘r’ -- read all employee data from file
‘x’ -- exit
Type selection: a
‘m’ to add a manager
‘s’ to add a scientist
‘l’ to add a laborer
Type selection: m
Enter last name: Johnson
Enter number: 1111
Enter title: President
Enter golf club dues: 20000
‘a’ -- add data for an employee
‘d’ -- display data for all employees
‘w’ -- write all employee data to file
‘r’ -- read all employee data from file
‘x’ -- exit
Type selection: a
‘m’ to add a manager
‘s’ to add a scientist
‘l’ to add a laborer
Type selection: s
Enter last name: Faraday
Enter number: 2222
Enter number of pubs: 99
‘a’ -- add data for an employee
‘d’ -- display data for all employees
‘w’ -- write all employee data to file
‘r’ -- read all employee data from file
‘x’ -- exit
Type selection: a
‘m’ to add a manager
‘s’ to add a scientist
‘l’ to add a laborer
Type selection: l
Enter last name: Smith
Enter number: 3333
‘a’ -- add data for an employee
‘d’ -- display data for all employees
‘w’ -- write all employee data to file
‘r’ -- read all employee data from file
‘x’ -- exit
Type selection: w
Writing 3 employees
‘a’ -- add data for an employee
‘d’ -- display data for all employees
‘w’ -- write all employee data to file
‘r’ -- read all employee data from file
‘x’ -- exit
Type selection: r
Reading 3 employees
‘a’ -- add data for an employee
‘d’ -- display data for all employees
‘w’ -- write all employee data to file
‘r’ -- read all employee data from file
‘x’ -- exit
Type selection: d
1. Type: Manager
Name: Johnson
Title: President
Golf club dues: 20000
2. Type: Scientist
Name: Faraday
Number: 2222
Number of publications: 99
3. Type: Laborer
Name: Smith
Number: 3333
Albatta, ma'lumotlarni diskka yozganingizdan so'ng dasturdan chiqishingiz mumkin. Uni ishga tushirganingizda
yana, siz faylni qayta o'qishingiz mumkin va barcha ma'lumotlar qayta paydo bo'ladi.
Xodimni o'chirish, fayldan bitta xodimga tegishli ma'lumotlarni olish, ma'lum xususiyatlarga ega xodimlarni faylni qidirish va hokazo uchun ushbu dasturga funktsiyalarni qo'shish oson bo'ladi.
oldinga.