Mavzu: Obyektga yo’naltirilgan dasturlash asoslari Obyekt tushunchasi Struktura tushunchasi Class tushunchasi Konstruktor Desturktor


Class e’lon qilish class class_nomi {



Download 1,78 Mb.
bet5/5
Sana24.06.2022
Hajmi1,78 Mb.
#700816
1   2   3   4   5
Bog'liq
1.C tilida OOP

Class e’lon qilish

class class_nomi {

private: vars & methods

public: vars & methods

protected: vars & methods

} obyekt nomlari;


Sinf ob’ekti (sinf nusxasi) ni ta’riflash uchun quyidagi konstruksiyadan foydalaniladi:
;
Ob’ekt orqali maydonlarga va usullarga quyidagicha murojjat qilish mumkin:
< ob’ekt_nomi >.
< ob’ekt_nomi >.

Misol

class Car {

private:

int sum;

int quantity_n;

public:

void quantity(int n);

void buy();

};

void Car::quantity(int n) { quantity_n=n; }

void Car::buy() {

cout<

}

Misol

#include

using namespace std;

… -> class

int main(){

Car a;

a.quantity(40);

a.buy();

return 0;

}

Function overloading

  • Agar funksiyaning parametrlari har hil tip oladigan bo’lsa unda funksiyalarni qayta yuklashimiz kerak, yani overload. Bunda funksiya nomi bir hil faqat qaytarish tipi va qabul qiladigan parametrlarning tiplari o’zgaradi.

Misol

class Aylana

class Aylana

{

private:

double radius;

double PI;

public:

Aylana();

Aylana(double r);

void setPI();

void setPI(double PI);

void setRadius(double r);

double getDiameter();

double getLength();

};


Hususiyat
Konstruktor
Metod

Konstruktor

  • Classning ochiq(public) metodi hisoblanadi;
  • Nomi class nomi bilan bir xil bo’ladi;
  • Qaytaruvchi toifasi bo’lmaydi;
  • Bitta classda bir nechta konstruktorlar bo’ladi;

class Aylana
{
public:
Aylana();
Aylana(double r);
};

Konstruktor

Aylana::Aylana(){

cout << “Aylana yaratildi!”;

}

Aylana::Aylana(double r){

radius = r;

cout << “Aylana yaratildi!”;

}

Misol

#include

using namespace std;

class Aylana

{

private:

double radius;

double PI;

public:

Aylana();

Aylana(double r);

void setPI();

void setPI(double PI);

void setRadius(double r);

double getDiameter();

double getLength();

};


Aylana::Aylana(){
cout << "Aylana yaratildi!" << endl;
};
Aylana::Aylana(double r){
radius = r;
cout << "Radiusi " << r <<
" bulgan aylana yaratildi!\n";
};
int main()
{
Aylana A1;
Aylana A2(10);
Aylana *A3;
A3 = new Aylana(5);
return 0;
}

Destruktor

Destruktor

class Aylana

{

public:

Aylana();

Aylana(double r);

~Aylana();

};

Destruktor

Misol

Natija

a1 Aylana uzunligi:31.4286

a2 Aylana uzunligi:31.4159

Misol

#include

#include

#include

using namespace std;

class timer

{

clock_t start;

public:

timer(); // konstruktor

~timer(); // destruktor

};


timer::timer() {
start=clock();
}
timer::~timer() {
clock_t end=clock();
cout << "\nKetgan vaqt: " <<
(end-start) / CLOCKS_PER_SEC <<"\n";
} //CLOCKS_PER_SEC = 1000
int main() {
timer ob;
cout << "Biror tugmani bosing!";
getch();
}

E’tiboringiz uchun rahmat Savollar ?


Download 1,78 Mb.

Do'stlaringiz bilan baham:

1   2   3   4   5




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish