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.
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).