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
Sana06.04.2023
Hajmi1.78 Mb.
#1333165
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 ©fayllar.org 2024
ma'muriyatiga murojaat qiling