Std nom maydonidan foydalanish
Agar ilgari C ++ kodini ko'rgan bo'lsangiz, coutuning o'rniga ishlatilishini ko'rgan bo'lishingiz mumkin std::cout. Ikkalasi ham bitta ob'ektni nomlaydi: birinchisi uning malakasiz nomidan ( cout) foydalanadi, ikkinchisi uni to'g'ridan-to'g'ri nomlar maydonida std (as std::cout) muvofiqlashtiradi .
coutbu standart kutubxonaning bir qismidir va standart C ++ kutubxonasidagi barcha elementlar nom maydoni deb nomlanadigan joyda e'lon qilinadi : nomlar maydoni std. Ism maydonidagi
elementlarga murojaat qilish stduchun dastur kutubxona elementlaridan har birini foydalanishga moslashtirishi kerak (biz bu bilan prefiks couto'rnatganimiz kabi)std::) yoki uning tarkibiy qismlarining ko'rinishini joriy etish. Ushbu komponentlarning ko'rinishini joriy etishning eng odatiy usuli bu deklaratsiyalardan foydalanishdir :
Yuqoridagi deklaratsiya stdnomlar maydonidagi barcha elementlarga malakasiz tarzda ( std::prefikssiz) kirishga imkon beradi .
Shuni yodda tutgan holda, quyidagi misollardan malakasiz foydalanish uchun oxirgi misolni qayta yozish mumkin cout:
1
2
3
4
5
6
7
8
9
|
// my second program in C++
#include
using namespace std;
int main ()
{
cout << "Hello World! ";
cout << "I'm a C++ program";
}
|
Salom Dunyo! Men C ++ dasturiman
|
Tahrirlash va ishga tushirish
|
stdIsm maydoni elementlariga kirishning har ikkala usuli (aniq malaka va deklaratsiyalardan foydalanish ) C ++ da amal qiladi va aynan bir xil harakatlarni keltirib chiqaradi. Oddiylik va o'qishni yaxshilash uchun ushbu qo'llanmalardagi misollar deklaratsiyalardan foydalangan holda ushbu so'nggi yondashuvdan tez-tez foydalanadi , ammo aniq malaka bu nom to'qnashuvi hech qachon sodir bo'lishiga kafolat berishning yagona usuli ekanligini unutmang .
Ism maydonlari keyingi bobda batafsilroq tushuntiriladi.
C ++ tuzilishini o'rganib chiqib, dasturlashda ijodkorlik uchun biroz bo'sh joy oldingizda. Ushbu darsdan oldin biz o'zlarining dasturlaridagi ( int , float , char , bool ) o'zgaruvchilar uchun standart (integral) ma'lumotlar turlaridan foydalanishimiz mumkin edi . Endi biz o'z ma'lumot turiga o'xshash narsalarni qanday yaratishni o'rganamiz. Bu tuzilmalar yordamida amalga oshiriladi.
Har doimgidek, maqolaning boshida nima uchun buni qilishni xohlashingiz mumkinligini tushuntiring. Keling, qiz model ma'lumotlarini saqlashingiz kerak. Biz bu kabi ma'lumotlarni saqlashimiz kerak: ism, yosh, o'sish, vazn, hajmlar va ingliz tilini bilish / bilmaslik. Ko'rib turganingizdek, barcha ma'lumotlar modellari har xil: nom char tipidagi massivda , hajmlar - int turidagi o'zgaruvchilarda saqlanishi kerak , ingliz tilini bilish uchun bool turi o'zgaruvchiga mos keladi …
Ma'lum bo'lishicha, biz ushbu ma'lumotni qanday saqlashimiz kerak, massiv, biz undan foydalana olmaymiz, chunki u bir xil turdagi ma'lumotlarni saqlaydi. Strukturadan foydalanib, shartli ravishda birlashtirilgan mantiqiy havola bo'lgan barcha ma'lumotlarni bitta guruhga to'plash mumkin. Qarang:
Strukturani aniqlash uchun kalit so'zlardan foydalanish uchun . Siz identifikatorni ko'rsatgandan so'ng (yangi ma'lumotlar turining nomi). Ism dasturchini beradi. Bu o'zgaruvchilar nomlari kabi bir xil qoidalarga amal qiladi. Biz strukturani boshqaramiz - bu WonderfulWoman .
Qavslar elementlar (a'zolar) tuzilmasi - nomlangan o'zgaruvchilar yoki har qanday C ++ ma'lumotlar turlarining massivlari joylashtirilgan. Tuzilishi har xil turdagi elementlarni saqlashi mumkin. Bizning strukturamizda ko'rib turganingizdek int , char va bool tipidagi elementlar mavjud . Nuqtali vergul tuzilishini ta'rifini tugatadi ;
Keyinchalik, struktura aniqlanganligi sababli biz turdagi strukturaning o'zgaruvchilari - ob'ektlar tuzilishini yaratishimiz mumkin. Ular xuddi shu tarzda yaratilgan, shuningdek, bool , int , char kabi o'zgaruvchilar ... Yozish deskriptori ("tip") va ob'ekt tuzilishi nomini beradi. Masalan, main -funksiyalarida WonderfulWoman firstWoman o'zgaruvchisi yaratiladi ; Bu erda WonderfulWoman bir roli turini ijro, va firstWoman - deb e'lon o'zgaruvchining roli.
Element tuzilishi, shuningdek ilgari ma'lum bo'lgan boshqa ob'ekt bo'lishi mumkin. Ya'ni, kimdir tuzilishni boshqasiga qo'yishi mumkin. Misolni ko'rib chiqing. Unda, shuningdek, strukturaning elementlariga qanday kirishni, undagi ma'lumotlarni yozib olishni, so'ngra ekranda ko'rsatishni tushunadi.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
#include
using namespace std;
struct Size // эту структуру мы вложим в структуру WonderfulWoman
{
int breast; // объем груди
int waist; // талии
int hips; // бёдер
};
struct WonderfulWoman
{
char name[32];
int age;
int height;
int weight;
Size volume; // вложенная структура
bool engKnowledge;
};
void showData(const WonderfulWoman &Obj);
int main()
{
setlocale(LC_ALL, "rus");
WonderfulWoman firstWoman = {}; // установит значения всех элементов структуры в 0
// присвоение значений элементам структуры
strcpy_s(firstWoman.name, "Оксана");
firstWoman.age = 23;
firstWoman.height = 172;
firstWoman.weight = 55;
firstWoman.engKnowledge = 1;
// присвоение значений элементам вложенной структуры
firstWoman.volume.breast = 90;
firstWoman.volume.waist = 60;
firstWoman.volume.hips = 90;
showData(firstWoman);
return 0;
}
void showData(const WonderfulWoman &Obj)
{
cout << "Модель: " << Obj.name << endl;
cout << "Возраст: " << Obj.age << endl;
cout << "Рост: " << Obj.height << endl;
cout << "Вес: " << Obj.weight << endl;
cout << "Объемы: " << Obj.volume.breast << '/' << Obj.volume.waist << '/' << Obj.volume.hips << endl;
cout << "Английский (1 - да, 0 - нет): " << Obj.engKnowledge << endl;
cout << endl;
}
|
Keling, tartibda boramiz. 4 - 9 qatorlar: tuzilishni aniqlash hajmi . Unda int elementining uch turi mavjud bo'lib , unda o'lchovlar modeli saqlanadi - ko'krak, bel, kestirib, hajmi. Ushbu tuzilmani biz uning ostiga WonderfulWoman tuzilishi bilan joylashtirdik . Unda har xil turdagi elementlar mavjud - belgilar qatori, tip o'zgaruvchilari int , bool .
Yengdi 17 ob'ekt e'lon hajmi turi hajmi . Bu biriktirma tuzilishi. 21-satrda ekranning WonderfulWoman ma'lumotlar strukturasini aks ettiruvchi funktsiya prototipi mavjud . Ushbu funktsiya haqida, biz uning ta'rifiga kelsak, quyida muhokama qilamiz.
27-qator - tasniflangan tuzilish ob'ekti: WonderfulWoman firstWoman = { } ; Bu erda aniq: WonderfulWoman - deskriptor (tip), firstWoman - ob'ektning tuzilishi. Ushbu yozuv = { } ; WonderfulWoman struktura elementlarining barcha qiymatlarini nolga o'rnating . Shu jumladan, belgilar qatorining barcha elementlari \ 0 ga o'rnatiladi . Ob'ekt hajmidan beri bu WonderfulWoman strukturasining elementidir, uning elementlariga nollar ham beriladi. Mana shunday yozuv tuzilmaning barcha elementlarini axlatdan tozalaydi (boshqa dasturlarning qoldiq ma'lumotlari).
Do'stlaringiz bilan baham: |