Sinfni Qanday Tashkil Qilish Kerak

Mundarija:

Sinfni Qanday Tashkil Qilish Kerak
Sinfni Qanday Tashkil Qilish Kerak

Video: Sinfni Qanday Tashkil Qilish Kerak

Video: Sinfni Qanday Tashkil Qilish Kerak
Video: Yozuvingiz siz haqingizda nima deydi?? IMZOINGIZ BARCHA HAQIQATNI AYTADI 2024, Noyabr
Anonim

Ob'ektga yo'naltirilgan dasturlash paradigmasi dasturiy ta'minotni yaratish uchun barcha zamonaviy vositalar va tillarda keng tarqalgan. Bugungi kunda sanoat standarti ob'ektga yo'naltirilgan dasturlash tilidir C ++. Siz C ++ da sinf namunasini bir necha xil usulda yaratishingiz mumkin.

Sinfni qanday tashkil qilish kerak
Sinfni qanday tashkil qilish kerak

Bu zarur

C ++ kompilyatori

Ko'rsatmalar

1-qadam

Funktsiya, sinf usuli yoki bayonotlar bloki bilan belgilangan mahalliy doiradagi sinfni avtomatik o'zgaruvchiga aylantiring. Dasturingizda tanlangan joyda sinf ob'ektining deklarativ yoki majburiy ta'rifidan foydalaning. Agar kerak bo'lsa, parametrlari bo'lgan har qanday konstruktorga aniq qo'ng'iroq qiling. Quyidagilarga o'xshash kodlardan foydalanib ob'ekt yarating: void CMyClass:: SomeMethod () {COtherClass oSomeObject1; // COtherClass oSomeObject2 standart konstruktoridan foydalanib ob'ekt yaratish (1980, "Viktor V. Vakchturov"); // parametrlar bilan konstruktor yordamida ob'ekt yaratish} Xuddi shunday yaratilgan sinflar ob'ektlari uchun xotira, boshqa har qanday avtomatik o'zgaruvchilar singari, stekka ajratilgan. Shuning uchun, ko'lamdan chiqib, stek ramkasini olib tashlaganingizda, ob'ekt yo'q qilinadi (destruktorga qo'ng'iroq bilan).

2-qadam

Yangi operator yordamida sinfning namunasini yarating. O'rnatilishi kerak bo'lgan sinf ob'ektlariga ko'rsatgich o'zgaruvchisini aniqlang. Unga yangi operatorni baholash natijasi bo'lgan qiymatni bering. Tegishli konstruktorga qo'ng'iroq qiling. Quyidagilarga o'xshash kod parchasidan foydalaning: CSomeClass * poSomeObject; // CSomeClasspoSomeObject sinfining ob'ektlariga ko'rsatgichning ta'rifi = yangi CSomeClass; // CSomeClass * poSomeObject_2 = yangi CSomeClass (111, "3V") sinf ob'ektini yaratish; // parametrlar bilan konstruktorga qo'ng'iroq bilan yaratish Ushbu usul bo'yicha ob'ektlarni yaratishda yangi operator tomonidan aniqlangan xotirani ajratish mexanizmi ishlatiladi (agar u bekor qilinmasa va o'z ajratish funktsiyasi o'rnatilmagan bo'lsa), shuning uchun yangi ob'ekt oldindan ma'lum emas. Shu tarzda yaratilgan barcha ob'ektlar o'chirish operatori yordamida aniq o'chirilishi kerak.

3-qadam

Xotiraning o'zi ajratilgan qismida yangi operator yordamida sinfning nusxasini yarating. Quyidagiga o'xshash koddan foydalaning: void * p0 = malloc (sizeof (CSomeClass)); // xotirani ajratish void * p1 = malloc (sizeof (CSomeClass)); // yangi (p0) CSomeClass xotirani ajratish; // ajratilgan xotiradagi ob'ektni ishga tushirish (standart konstruktor) new (p1) CSomeClass (111, "abc"); // ob'ektni ishga tushirish (parametrlarga ega konstruktor) Ushbu usul bilan yaratilgan moslamalarni yo'q qilishdan oldin, siz ularni destruktorini aniq chaqirishingiz kerak: ((CSomeClass *) p0) -> ~ (); Ob'ektlarni shu tarzda yaratish asosan shablon konteyner sinflarida ishlatiladi. turli xil kutubxonalar (masalan, STL).

Tavsiya: