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; }