səhifə 3/3 tarix 02.01.2022 ölçüsü 109,52 Kb. #41100
C tilida OOP 2
Class yaratish… class <class_nomi > { <himoya_turi >: …<hususiyatlar > va <metodlar >… <himoya_turi >: …<hususiyatlar > va <metodlar >… <himoya_turi >: …<hususiyatlar > va <metodlar >… …<konstruktor >… …<destruktor >… } <obyekt_nomi >; Class nomi O’zgaruvchilar nomi qanday yozilsa huddi shu ko`rinishda yoziladi. _ [a..z] [A..Z] [0..9] belgilari yordamida yaratiladi va faqat _ [a..z] [A..Z] belgilaridan boshlanadi! class Person class Circle class 3-potok class _3_potok_ Himoya turi private – yopiq soha protected – himoyalangan soha public – ochiq soha 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;
}
Natija Aylana yaratildi! Radiusi 10 bulgan aylana yaratildi! Radiusi 5 bulgan aylana yaratildi! Destruktor Classning maxsus metodi; Nomi class nomi bilan bir xil; Argument qabul qilmaydi; Natija qaytarmaydi; Overload qilinmaydi; Obyekt yo`qolish vaqtida ishlaydi; Metod oldiga ~ belgisi qo’yiladi! Destruktor class Aylana { public: Aylana(); Aylana(double r); ~Aylana(); }; Misol Aylana::~Aylana(){ delete radius; cout << “Obyekt o’chirilmoqda!”; } void main() { Aylana *A3; A3 = new Aylana(5); … delete A3; } Natija Radiusi 5 bo'lgan aylana yaratildi! Obyekt o’chirilmoqda! Misol
#include
#define pi 3.14159265358979323846 namespace std;
class Aylana {
private:
double radius;
double PI;
public:
Aylana() {
radius = 0.0;
};
Aylana(double);
void setPI() {
PI = 22.0/7;
};
void setPI(double);
void setRadius(double r) {
radius = r;
};
double getDiameter() {
return radius *2;
};
double getLength();
};
Aylana::Aylana(double r){
radius = r;
};
double Aylana::getLength() {
return 2 * radius * PI;
};
void Aylana::setPI(double PI) {
this->PI = PI;
};
int main()
{
Aylana a1, a2(5);
//a1.radius = 5;//xato!
a1.setRadius(5);
a1.setPI();
a2.setPI(pi);
cout<<"a1 Aylana uzunligi:"
<< a1.getLength()<<"\n";
cout<<"a2 Aylana uzunligi:"
<
return 0;
}
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;
end=clock();
cout << "\nKetgan vaqt: " <<
(end-start) / CLOCKS_PER_SEC <<"\n";
}
int main() {
timer ob;
cout << "Biror tugmani bosing!";
getch();
return 0;
}
Natija Biror tugmani bosing! Ketgan vaqt: 1 E’tiboringiz uchun rahmat Dostları ilə paylaş: