1. for va foreach sikllari


Download 65.67 Kb.
bet23/49
Sana19.06.2023
Hajmi65.67 Kb.
#1625730
1   ...   19   20   21   22   23   24   25   26   ...   49
Bog'liq
дəстурлеу жуаплары100

32. Voris sinflar
Voris sinflari C++ dasturlash tilida ob'ektlar orqali yaratilgan sinflardir. Voris sinflari, bitta yoki undan ko'p sinflarning tarkibiga kirish yoki ularning funksiyalarini o'zida saqlashga imkon beradi. Bu, kodni qayta ishlashni va kodni yangilashni yengillikka olib keladi.
Voris sinflarini yaratish uchun C++ dasturiy tili, ob'ektlar orqali yaratilgan sinflar yaratish uchun xususiy sintaksisni taqdim etadi. Misol uchun, quyidagi sintaksis yordamida voris sinfi yaratilishi mumkin:
C++
class ParentClass {
public:
void parentFunction() {
std::cout << "This is a function of the parent class." << std::endl;
}
};
class ChildClass : public ParentClass {
public:
void childFunction() {
std::cout << "This is a function of the child class." << std::endl;
}
};
int main() {
ChildClass obj;
obj.parentFunction();
obj.childFunction();
return 0;
}
Bu kodda, ParentClass nomli voris sinfi yaratilgan. Uning faqat bir ta funksiyasi bor, parentFunction(). ChildClass nomli sinf esa ParentClass sinfiga kiradi va unda childFunction() nomli boshqa bir funksiya yaratilgan.
ChildClass sinfi public vorislik bilan ParentClass sinfiga kirgan. Bu, ChildClass sinfida ParentClass sinfida mavjud bo'lgan barcha funksiyalar va o'zgaruvchilarga kirish imkonini beradi. Shunday qilib, ChildClass sinfi ParentClass sinfindagi parentFunction() funksiyasini chaqirish imkoniyatiga ega bo'ladi.

Asosiy funksiyada esa, ChildClass sinfidan ob'ekt yaratiladi va undan parentFunction() va childFunction() funksiyalari chaqiriladi. Natijada, ikki funksiya ham konsolga chiqariladi.
33. Bazaviy sinf metodlarini qayta yuklash
Bazaviy sinf metodlarini qayta yuklash, bir sinfning o'zining metodlarini va xususiyatlarini boshqa bir sinfga nusxalash uchun foydalaniladigan yordamdir. Bu, kodni qayta ishlashni va kodni yangilashni yengillikka olib keladi.
Bazaviy sinf metodlarini qayta yuklash uchun C++ dasturiy tili, virtual funksiyalar yordamida voris sinfida o'zgartirishlar kiritishni taqdim etadi. Misol uchun, quyidagi sintaksis yordamida bazaviy sinf metodlari yaratilishi mumkin:
C++
#include
class BaseClass {
public:
virtual void exampleFunction() {
std::cout << "This is a function of the base class." << std::endl;
}
};
class DerivedClass : public BaseClass {
public:
void exampleFunction() override {
std::cout << "This is a function of the derived class." << std::endl;
}
};
int main() {
BaseClass* obj1 = new BaseClass();
DerivedClass* obj2 = new DerivedClass();
obj1->exampleFunction();
obj2->exampleFunction();
delete obj1;
delete obj2;
return 0;
}
Bu kodda, BaseClass nomli bazaviy sinf yaratilgan. Uning faqat bir ta funksiyasi bor, exampleFunction(). DerivedClass nomli sinf esa BaseClass sinfiga kiradi va unda exampleFunction() nomli funksiya o'zgartirilgan.
exampleFunction() funksiyasi virtual funksiya sifatida belgilangan. Bu, DerivedClass sinfidagi funksiya, BaseClass sinfiga nisbatan o'zgartirilgan holatda chaqirilganda, BaseClass sinfindagi funksiyadan foydalanishni ta'minlaydi.
Asosiy funksiyada esa, BaseClass sinfidan bir ta ob'ekt yaratiladi va DerivedClass sinfidan boshqa bir ob'ekt yaratiladi. Har bir ob'ekt exampleFunction() funksiyasini chaqiradi. Natijada, BaseClass sinfida funksiya standart xususiyatiga ega bo'ladi, DerivedClass sinfida esa funksiya qayta yuklanadi va yangi natija konsolga chiqariladi.

Download 65.67 Kb.

Do'stlaringiz bilan baham:
1   ...   19   20   21   22   23   24   25   26   ...   49




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling