Obyektga yo'naltirilgan dasturlash. C++ OOP
![Mavzu: Obyektga yo'naltirilgan
dasturlash . C++ OOP.
Reja:
1.Kirish.
2. C ++ OOP nima? (Object Oriented Programming = OOP)
3. C++ sinflar va ob’ektlar
4. C++ Method (Sinf/Class)
5. C++ Enkapsulatsiya.
6. C++ Polimorfizm.
7. C++ Merosxurlik
9.Xulosa.
10.Foydalanilgan adabiyotlar.
KIRISH](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_1.png)
![Obyekt nima?
Obyekt Obyektga yo'naltirilgan dasturlash(OYD) texnologiyasining eng asosiy
kalit tushunchasidir. Atrofga qarang, haqiqiy hayotdagi bir necha obyektlarni
ko'rishingiz mumkin: stol, uy, it, mushuk, televizor va h.k.
Ularning barchasining albatta hususiyatlari va bajaradigan vazifalari
(funktsiyalari) bor. Masalan, Mushuk hususiyatlari: rangi, qorni to'qligi, yoshi, jinsi;
funktsiyalari: ovqat yeyishi, myovlashi, yurishi, sichqon tutishi. Mashina,
hususiyatlari: tezligi, rangi, nomi, narxi; funktsiyalari: yurishi, to'xtashi, oyna
artgichlarining ishlashi, eshiklarning ochilib yopilishi v.h.k.
Bir daqiqaga to'xtang va hozirda atrofingizdagi biror narsalarni analiz qiling. Har
bir obyekt uchun o'zingizdan so'rang: "Bu obyektning qanday hususiyatlari bor?" ,
"Qanday vazifalarni bajaradi?" kabi. Va kuzatish natijalaringizni yozib oling, sezgan
bo'lsangiz tuziladigan ro'yxat obyektning murakkabligiga qarab ko'payib boradi.
Kompyuter indikatorining 2 ta hususiyati bor o'chiq va yoniq; funktsiyalari esa
yonish va o'chish. Bu barcha kuzatishlar OYD dunyosiga o'tkazish mumkin.
Dasturlashdagi obyekt(bundan keyin oddiygina obyekt deb ketiladi) ham haqiqiy
hayotdagi obyektlarga o'xshash: Ular ham qandaydir hususiyatlar va bajaradigan
funktsiyalardan iborat bo'ladi. Obyektning hususiyatlari har xil
dasturiy o'zgaruvchilardan iborat bo'ladi va ularning o'zgartirish uchun
qandaydir funktsiyalar bajariladi. Bunday funktsiyalar bilan o'zgaruvchilarning
holatini berkitish mumkin ya'ni aynan o'sha o'zgaruvchini tashqaridan o'zgartirish
uchun albatta maxsus funktsiyadan foydalanish kerak bo'ladi. Bu jarayon
" Enkapsulatsiya " deb atalib, OYDning eng muxim tushunchalaradian biridir. Hech
e'tibor berganmisiz dorilarda ham shu termin ishalitladi ya'ni kapsula(ustidan
maxsus modda bilan o'ralgan dorilar), buni misolni Enkapsulatsiya jarayoni esda
yaxshi qolishi va tushunarli bo'lishi uchun keltirdim.
Mashinani tasavvur qiling, Uni dasturlash obyekit sifatida modellashtiramiz:
Uning o'zgaruvchilari( hozirgi tezligi, qolgan benzini, va h.k) va uning
funktsiyalari(to'xtatish, tezlikni oshirish, rulni burish, va h.k.). Bu yerda uning
bakidagi benzini yurishi tufayli kamayib boradi demak uning qiymatining o'zgarishi
0dan bakning sig'imigacha bo'ladi, yoki uning tezligi ham shu kabi aynan qaysidir
funktsiyalarning amalga oshirilishi orqali u ham 0 dan maksimal tezligigacha
o'zgarishi mumkin.
Mavzu : Obyektga yo'na ltirilgan dasturlash . C++ OOP
C ++ OOP nima? (Object Oriented Programming = OOP)](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_2.png)
![OOP (O bj e ct O ri e nt e d P r og ra mm i n g - Oby e k t ga y o' na lt i r i l ga n dast ur la sh )
- bu bi ro n bi r ma qs ad ga y o' na lt i ri lg an dast ur la sh de ga n ma' no ni a ng lat adi .
P r ot s e du ra vi y da st u rl as h - b u ma' lu mo t la rg a i sh l ov be r ad i g an
pr ot se d ur al ar y ok i f unk t si ya la rn i y oz i s h , o b' e k t g a yo 'n al t i ri lg an da st u rl as h
e sa ma 'l um ot va f unk t si ya la rn i o' z i ch i ga o lg an o b' e k t l ar ni y ar at i sh h aq i da .
Ob' e k t g a y o' na lt i r i l ga n da st u rl as h p ro t se ss ua l da st u rl as h d an b i r qat or
afz al li k l ar ga e ga :
O O P t e z r o q v a b a j a r i l i s h i o s o n r o q
O O P d a s t u r l a r n i n g a n i q t u z i l i s h i n i t a ' m i n l a y d i
O O P C + + k o d i n i D R Y " D o n ' t R e p e a t Y o u r s e l f " s a q l a s h g a y o r d a m b e r a d i
v a k o d n i s a q l a s h , o ' z g a r t i r i s h v a d i s k r a s k a d r o v k a q i l i s h n i
o s o n l a s h t i r a d i .
O O P k o d n i k a m v a i s h l a b c h i q a r i s h v a q t i n i q i s q a r t i r g a n h o l d a t o ' l i q
q a y t a i s h l a t i l a d i g a n i l o v a l a r n i y a r a t i s h g a i m k o n b e r a d i .
C + + - b u o b' e k t g a y o' na lt i r i l ga n da st u rl as h t i l i . C + + d ast u rl as h t i li da
h amm a nar sa u ni ng x u su si ya t la ri v a u su ll ar i bi la n bi r q at o rd a si nf lla r va
ob ye k t la r bi lan b og 'l i q .
Sinf - bu bizning dasturimizda foydalanishimiz mumkin bo'lgan foydalanuvchi
belgilaydigan ma'lumot turi va u ob'ekt tuzuvchisi yoki ob'ektlarni yaratish uchun
"reja" sifatida ishlaydi.
Sinf yarating.
Si nf ya ra t i s h uc h u n cl a s s k ali t so 'z dan fo yd al an i n g. " My Cl a ss " No mli si n f
ya ra t a mi z .
class MyClass { // class
public : // ochiqlik siyosati
int myNum; // Attribute (int tipiga tegishli)
string myString; // Attribute (string tipiga tegishli)
};
Misolni tushuntirish.
c l a s s K a l i t s o ' z M y C l a s s d e b a t a l g a n b i r s i n f y a r a t i s h u c h u n
i s h l a t i l a d i .
p u b l i c K a l i t s o ' z b i r b o ' l i b k i r i s h b e l g i s i i f o d a l a y d i . B u d e g a n i c l a s s
d a n t a s h q a r i d a h a m a t t r i b u t l a r d a n f o y d a l a n i s h m u m k i n .](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_3.png)
![ S i n f i c h i d a b u t u n s o n m y N u m v a s a t r o ' z g a r u v c h i s i
m a v j u d m y S t r i n g . O ' z g a r u v c h i l a r s i n f i c h i d a e ' l o n q i l i n g a n i d a ,
u l a r a t r i b u t l a r d e b n o m l a n a d i .
N i h o y a t , s i n f t a ' r i f i n i n u q t a - v e r g u l b i l a n t u g a t i n g ; .
Ob'ektni yaratish.
C + + d ast ur la sh t i li da bi z si nf y ar at di k , My Cl a ss no ml i c las s ya ra t di k ,
sh u ni ng u ch un bu nd an fo yd al an i b o by e k t y ar at ami z. O b' e k t ni ya ra t i s h
uc h u n My Cl a ss si n f no mi ni , so 'n gr a ob 'e k t no mi ni k o' rs at i n g.
# include <iostream>
# include <string>
using namespace std;
class MyClass {
public :
int myNum;
string myString;
};
int main () {
MyClass myObj;
myObj.myNum = 15 ;
myObj.myString = "Some text" ;
cout << myObj.myNum << "\n" ;
cout << myObj.myString;
return 0 ;
}
15
Some text
Bir nechta ob'ektlar.
Si z bi t t a si nf ni n g bi r ne ch t a ob 'e k t la ri ni ya ra t i sh i n gi z mu mk i n:
Me t h od si n fg a t e gi s h li fu nk s i y al ar di r. Si nf ga t e gi sh l i fu nk si y al ar ni
ani ql ash u ch un i k k i y o' l m avj ud .
I c h k i s i n f t a ' r i f i](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_4.png)
![ S i n f d a n t a s h q a r i t a ' r i f
Si nf t ash qa ri da f un k si ya ni ani ql ash uc h u n s i nf i ch i da e 'l on qi li sh k e r ak
va k e yi n u ni si n fd an t a sh q ar i d a e ' lo n q i li sh k e rak . :: si n f n om i ni k o' rs at i sh
uc h u n i sh lat i lad i .
# include <iostream>
using namespace std;
class MyClass {
public :
void myMethod ();
};
void MyClass::myMethod () {
cout << "Hello World!" ;
}
int main () {
MyClass myObj;
myObj. myMethod ();
return 0 ;
}
Hello World!
Parametrlar.
Si z sh u ni ng de k pa ra me t rl ar ni q o' sh i sh i ng i z m umk i n :
# include <iostream>
using namespace std;](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_5.png)
![class Car {
public :
int speed ( int maxSpeed);
};
int Car::speed ( int maxSpeed) {
return maxSpeed;
}
int main () {
Car myObj;
cout << myObj. speed ( 913 );
return 0 ;
}
913
C + + K i r i s h m a’ l u m o t i . ( S i n f / C l a s s )
Ho zi rd a, si z pu b l i c bi z ni ng ba rc h a si nf mi s ol la ri mi z da pa yd o bo 'l ga n
k ali t s o' z bi l an j uda y ax s h i t ani sh s i z :
pu b l i c Ka li t s o' z bi r bo 'li b ki r i sh m a 'l um ot i. Ki ri sh sp e t si fi k at or la ri si nf
a' zo la ri ga (a t r i b ut l ar va u su ll ar ga ) qa nda y k i r i sh mu mk i n li gi ni
be l gi la yd i . Yu qo ri da gi mi so lda , a' zo la r pu b l i c - b u k o dn i t ash qa ri da n k i ri sh
va o' zg ar t i ri sh mu mk i nli gi ni an gl at a di .
D ast ur la sh x a vfs i z li k bi ri nch i o 'r i n da t u ra di . Bi z ay na n t a sh q i k i r i sh ni
t o' x t at i sh k e r ak b o' ls a ni m a q i l ami z? b un i n g j av obi q uy i d ag i ma 'l um ot
t u rl ar i bi l an i z oh l an adi .
C + + da uc h t a k i r i sh sp e t si fi k at or la ri mavj ud :
p u b l i c - A ' z o l a r g a s i n f d a n t a s h q a r i k i r i s h m u m k i n .
p r i v a t e - A ' z o l a r g a s i n f d a n t a s h q a r i d a k i r i s h ( y o k i k o ' r i s h ) m u m k i n
e m a s .
p r o t e c t e d - A ' z o l a r g a s i n f d a n t a s h q a r i g a k i r i s h m u m k i n e m a s , a m m o
u l a r g a m e r o s q o l g a n s i n f l a r d a k i r i s h
m u m k i n . K e y i n c h a l i k m e r o s x o ' r l i k h a q i d a k o ' p r o q b i l i b o l a s i z .
Qu yi da gi mi so ld a bi z pu b l i c va pr iv a t e a' zo la r o' rt as i da gi fa rq ni
k o' rs at ami z :](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_6.png)
![# include <iostream>
using namespace std;
class MyClass {
public :
int x;
private :
int y;
};
int main () {
MyClass myObj;
myObj.x = 25 ;
myObj.y = 50 ;
return 0 ;
}
In function 'int main()':
Line 8: error: 'int MyClass::y' is private
Line 14: error: within this context
error: y is private
Eslatma: private Agar kirish spetsifikatsiyasini ko'rsatmasangiz, avtomatik
tarizda private bo'ladi.
class MyClass {
int x; // Private attribute
int y; // Private attribute
};
C + + E n k a p s u l a t s iya . ( S i n f / C l a s s )
Ass al om u a la yk um bu gu ng i da rs i mi z ma 'l um ot lar x av fsi zl i g i ni
t a' mi n la sh h aqi da ga pl ash a mi z . Ko 'p ch i li k ma' lu mo t l ar ni f oy da la nu vch i da n
ya sh i ri sh k e rak bo 'l i b q ol adi . B un da bi zd a C+ + dast ur la sh t i li da
bi z ga En ka ps ul a ts iy a yo rd am be ra di . Bu at a ma b o' yi ch a qu yi da gi ch a
t u sh u nc h a ga e g a bo 'li sh i ni ng i z mu mk i n.
Encapsulation( Enkapsulatsiya )- ning ma'nosi , "sezgir" ma'lumotlar
foydalanuvchilardan yashirilganligiga ishonch hosil qilishdir. Bunga erishish uchun
siz sinf o'zgaruvchilari / atributlarini e'lon qilishingiz kerak private (sinf
tashqarisidan kirish mumkin emas).
Enkapsulatsiya Uchun Maxsus.
#include <iostream>
using namespace std ;](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_7.png)
![class Employee {
private :
int salary;
public :
void setSalary ( int s) {
salary = s;
}
int getSalary () {
return salary;
}
};
int main () {
Employee myObj;
myObj.setSalary( 50000 );
cout << myObj.getSalary();
return 0 ;
}
50000
Yuqoridagi misolni tushuntirish.
Ki ri sh ch e k l an ga n sa l a r y o' zg ar uv ch i h i s ob lan adi ch un k i pr iv a t e de b
e ' lo n qi li n ga n.
Um um i y se tS a l a r y () us ul ( s ) par am e t r ni o la di va un i
at r i b ut ga sa l a r y (i sh h aq i = s) t ay i n la yd i .
Um um i y ge tS a l a r y () us ul x u su si y sa l a r y at r i b ut ni n g qi ym at i ni
qa yt ar adi .
Ich k ar i da m a in () bi z Em pl oye e si n f ob 'e k t i ni y ar at ami z . E nd i
bi z se tS a l a r y () x u su si y u su ln i n g q i y mat i ni
be l gi las h uc h u n us ul da n fo yd al an i sh i mi z m umk i n 50 0 0 0 . Ke yi n
bi z ge tS a l a r y () ob 'e k t ni qi ym at i ni qa yt ar i sh u ch un u su li ya 'n i fu nk si y a
h i s obl an adi .
Nima uchun enkapsulatsiya?](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_8.png)
![ X a v f s i z l i k u c h u n j u d a m u h i m . Y a s h i r i n m a ' l u m o t l a r n i s a q l a s h v a
u n d a n f o y d a l a n u v c h i l a r n i c h e k l a s h .
C l a s s n i i c h i d a x a v f s i z l i k g a e g a b o ' l g a n a t t r i b u t g a b i z m u r o j a a t q i l a
o l a m i z
C + + M e ro s xu r l i k ( S i n f / C l a s s )
Ass al om u a la yk um bu gu n si z bi l an me r os x u rl i k h aqi da g ap la sh am i z.
C la ss i ch i d a va u nd an t ash qa ri fo yd al an i sh v a un i n g qu la yl i k la ri h aqi da
ga pla sh i b o la mi z .
Meros olish
d e r i v e d c l a s s ( b o l a ) - b o s h q a s i n f d a n m e r o s q o l g a n s i n f .
b a s e c l a s s ( o t a - o n a ) - m e r o s b o ' l i b o ' t g a n s i n f .
Si nf da n me ro s o li sh u ch u n : be l gi dan fo yd an i l adi . Qu yi da gi
mi s ol da, Ca r si n f ( bo la ) at r i b ut l ar va us ul la rn i Ve hi cl e si n fd an ( ot a-
on ad an ) me r os qi li b ol adi :
# include <iostream>
# include <string>
using namespace std;
// Base class
class Vehicle {
public :
string brand = "Ford" ;
void honk () {
cout << "Tuut, tuut! \n" ;
}
};
// Derived class
class Car: public Vehicle {
public :
string model = "Mustang" ;
};
int main () {
Car myCar;](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_9.png)
![myCar. honk ();
cout << myCar.brand + " " + myCar.model;
return 0 ;
}
Tuut, tuut!
Ford Mustang
"Meros" dan qachon va qanday vaqtda foydalanish kerak?
"Meros" - bu odatda bitta class dan qayta qayta foydalanish imkoniyatini beradi.
Yangi sinf yaratishda sinf attributlaridan foydalanish imkoniyati.
Ko'p meros.
Si nf sh un i n gd e k , v er g ul b il a n a j r a t il ga n r o' yx a t yo rd am i d a bi r n e ch t a
as osi y si nf la rd an o li n i sh i m umk i n :
# include <iostream>
using namespace std;
class MyClass {
public :
void myFunction () {
cout << "Hello World. MasterSherkulov.\n" ;
}
};
class MyOtherClass {
public :
void myOtherFunction () {
cout << "Hello World. MasterSherkulov.\n" ;
}
};
class MyChildClass: public MyClass, public MyOtherClass {
};
int main () {
MyChildClass myObj;
myObj. myFunction ();
myObj. myOtherFunction ();
return 0 ;
}
Hello World. MasterSherkulov.](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_10.png)
![Hello World. MasterSherkulov.
Meros Huquqi.
Si z Ki r i sh x u su si yat la ri ni ani ql ash b o' li mi d an C + + d a uc h t a ani ql ov ch i
mavj ud li gi ni bi l i b ol di n gi z . H oz i r ga ch a bi z fa qat
fo yd al an ga nm i z pu b l i c (s i n f a' zo la ri ga si nf t ash qa ri si dan k i ri sh mu mk i n )
va pr iv a t e (a 'z ol ar ga f aq at si nf i ch i d a k i r i sh mu mk i n ). Uch i n ch i
spe t si f i k at o rg a pr ot ec ted o' x sh ash pr iv a t e , am mo u ng a m er o s q il i b
ol i n ga n k las sd a k i r i sh m umk i n :
# include <iostream>
using namespace std;
class Employee {
protected : // Protected access specifier
int salary;
};
class Programmer: public Employee {
public :
int bonus;
void setSalary ( int s) {
salary = s;
}
int getSalary () {
return salary;
}
};
int main () {
Programmer myObj;
myObj. setSalary ( 50000 );
myObj.bonus = 15000 ;
cout << "Salary: " << myObj. getSalary () << "\n" ;
cout << "Bonus: " << myObj.bonus << "\n" ;
return 0 ;
}
Salary: 50000
Bonus: 15000](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_11.png)
![C + + Po l i m o r f i z m . ( S i n f / C l a s s )
P ol i m or fi zm b u "k o' p sh ak l lar " de g an ma' no ni an gl at a di .
Bi z Me r o s or qa li bi r- b i r i bi la n bo g' li q bo 'l ga n k o 'p lab si nf lar ga e g a
bo 'l ga ni mi z da pay do bo 'l adi . Pol im or f iz m t u rl i x i l vaz i fa lar ni bi t t a
h ar ak at da t u rl i yo 'l la rn i ba j ar i s h i mi z i mk o ni ya t i g a e g a b o' la mi z .
Oby e k t ga abst rak t dar aj ada qa ra sh x us us i y at i . M asa la n, t ur li x i l o yn al ar
mavj ud : de ra za oy na si , e sh i k o yn as i , mash i n a o yn as i , t e l e fo n o yn as i .
Bu la rn i n g ba rc h as i bi r bi ri da n i sh lat i li sh soh asi , t u zu li sh i , sh ak l i bi l an far q
qi lad i . L e k i n bar ch asi ni um um i y q i li b oy na de b q ar ash mu mk i n .
P ol i m or fi zm t u rl i x i l ob ye k t la r bi l an bi r x i l u ni fo rm ad a i sh la sh
i mk o ni ya t i n i be r ad i .
P ol i m or fi zm o rq al i bi r j ar ay on ni t ur li yo 'l la r bi l an t ash k i lla sh t i ri sh i m i z
mu mk i n. P oli mo rf i z m so 'z i y un on ch a i k k i so 'z ni ng bi ri k mas i da n t as h k i l
t op ga n « po ly » — Ko 'p va « mo rp h s» — fo rm al ar . P o li m or fi zm h am ko ' p
f o r mal ar de g an m a' no ni a ng lat a di .
Am a l iy q is m .
1 - t ops h i r i q .
1 4- ma sal a. Shape (Shakllar) va Triangle, Rectangle, Circle sinflari hosil qiling.
Avlod sinflar ajdod sinfidan meros olgan olgan holda qo’shimcha metodlar hosil
qiling.
#include <iostream>
#include <math.h> using](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_12.png)
![namespace std; class
Shape
{ protected:
double m_a, m_b, m_c; public:
Shape(double a = 0, double b = 0 ,double c = 0)
{ m_a = a;
m_b = b;
m_c = c;
}
virtual double area()
{ return
0;
} };
class Triangle: public Shape
{ public:
Triangle(double a = 0, double b = 0, double c = 0) : Shape(a, b, c)
{ };
double area()
{
if((m_a+m_b>m_c) && (m_c+m_b>m_a) && (m_a+m_c>m_b))
{double p = (m_a + m_b + m_c)/2;
return (sqrt(p*(p-m_a)*(p-m_b)*(p-m_c)));} else
return 0;
}
double ich_radius()
{
double p = (m_a + m_b + m_c)/2; return
(sqrt(p*(p-m_a)*(p-m_b)*(p-m_c))/p); } };
class Rectangle : public Shape
{ public:
Rectangle(double a = 0, double b = 0) : Shape(a, b, 0)
{ }; double
area() {
return(m_a*m_b);
}
double i_aylana()
{ return (m_a*m_b)/(2*(m_a+m_b));
} };
class Circle : public Shape](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_13.png)
![{ public:
Circle(double a = 0) : Shape(a, 0, 0) {}; double
area()
{
return M_PI*m_a*m_a;
} double
radius()
{
return m_a;}
}; int main()
{ double
a,b,c,d,e,f; Shape
*shakl[3];
cout<<"Uchburchak tomonlarini kiriting: \n"; cin>>a>>b>>c;
cout<<"Turtburchak tomonlarini kiriting: \n"; cin>>d>>e;
cout<<"Aylana radiusini kiriting: \n"; cin>>f;
Triangle uchburchak(a, b, c);
Rectangle tugriTurtbuchak(d, e);
Circle doira(f);
shakl[0] = &uchburchak;
shakl[1] = &tugriTurtbuchak; shakl[2] = &doira;
cout<<"Uchburchak yuzasi:"<< shakl[0]->area()<<endl;
cout<<"To'g'ri tortburchak yuzasi:"<< shakl[1]->area()<<endl;
cout<<"Doira yuzasi:"<< shakl[2]->area()<<endl;
cout<<"Uchburchakka ichki chizilgan aylana
"<<uchburchak.ich_radius()<<endl; double
r=tugriTurtbuchak.i_aylana(); double
h=doira.radius(); radius:
cout<<"Turtburchakka ichki chizilgan aylana
"<<tugriTurtbuchak.i_aylana()<<endl; if
(r==h){
cout<<"Aylana turtburchakka ichki chizilgan bo'ladi";} else
{cout<<"Aylana turtburchakka ichki chizilgan bo'lmaydi";}
return 0;
} radiusi:
Dastur natijasi :](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_14.png)
![2- t op sh i ri q .
3 2- ma sal a . Hotel (Mehmonxona) ajdod sinfini hosil qiling. Uning nomi, manzili,
rahbari kabi xossalari mavjud bo’lsin. RegistanPlaza avlod sinfida mehmonxona yillik
daromadini aniqlash metodini hosil qiling.
#include <iostream>
using namespace std;
class Hotel
{ protected:
string m_name, m_address, m_leader;
double m_daromad;
double m_soliq, m_maosh, m_boshqa;
public:
Hotel(string name="", string address="",
string leader="",
int daromad=0,
int soliq=0,
int maosh=0,
int boshqa=0)
{
m_name = name;
m_address = address;
m_leader = leader;
m_daromad = daromad;
m_soliq = soliq; m_maosh =
maosh;
m_boshqa = boshqa;
}
/* virtual double yil_daromad()](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_15.png)
![{
return 0;
}*/
};
class RegistanPlaza: public Hotel
{ public:
RegistanPlaza(string name="", string address="", string leader="",int
daromad=0,int soliq=0,int maosh=0,int boshqa=0):Hotel(name, address,
leader,daromad,soliq,maosh, boshqa){}; string getName(){return m_name;}
string getAddress(){return m_address;} string getLeader(){return m_leader;}
double yil_daromad()
{
double s = m_daromad * (m_soliq/100),
o = m_daromad * (m_maosh/100),
b = m_daromad * (m_boshqa/100);
return m_daromad-s-o-b;
} }
;
int main()
{
string nomi, manzili, egasi;
double daromadi, soliq, oylik, boshqa;
cout<<"Mehmonxona nomi: "; getline(cin,nomi);
cout<<endl;
cout<<"Mehmonxona manzili: "; getline(cin,manzili);
cout<<endl;
cout<<"Mehmonxona egasi: "; getline(cin,egasi);
cout<<endl;
cout<<"Mehmonxona daromadi(dollarda): "; cin>>daromadi;
cout<<endl;
cout<<"Soliq stavkasini kiriting: "; cin>>soliq;
cout<<endl;
cout<<"Daromadning necha foizi oylik berishga sarflanayotganini kiriting: ";
cin>>oylik;
cout<<endl;
cout<<"Daromadning necha foizi boshqa xarajatlarga sarflanayotganini kiriting: ";
cin>>boshqa;
cout<<endl;
Hotel hostel;](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_16.png)
![RegistanPlaza hostel1(nomi,manzili,egasi,daromadi,soliq,oylik,boshqa);
cout<<hostel1.getName()<<" mehmonxonasi "<<hostel1.getAddress()<<"da
joylashgan."<<endl;
cout<<"Uning rahbari: "<<hostel1.getLeader()<<endl; cout<<"Yillik sof foydasi:
"<<hostel1.yil_daromad()<<" $";
return 0;
}
Dastur natijasi:
3-topshiriq.
66-masala . FootballClub (Futbol klubi) nomli sinf hosil qiling. Jamoa o’yinchilarining
oylik maoshlari, yoshlari, gollari soni ma’lum. Jamoaning o’rtacha maoshini, o’rtacha
yoshini, o’rtacha gollari sonini aniqlash metodini hosil qiling. “Gollari soni eng yuqori
bo’lgan sportchi, eng ko’p maosh oladimi yoki yo’qmi”, aniqlash metodini hosil qiling.
Sinf shablonidan foydalaning.
#include <bits/stdc++.h>
using namespace std;
template <typename T> class
FootballClub
{ vector <T> m_salary;
vector <T> m_age;
vector <T> m_goal;](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_17.png)
![vector <int> ::iterator a;
public:
FootballClub( vector <T> age, vector <T> goal, vector <T> salary)
{
m_salary = salary;
m_age = age;
m_goal = goal;
}
T getIndex(vector<T> v, T K)
{
auto it = find(v.begin(), v.end(), K);
if (it != v.end())
{
T index = it - v.begin();
return index;
} else {
return -1;
}
}
T av_goal()
{
T s=0, n=0;
for(a=m_goal.begin();a!=m_goal.end();a++)
{
s += *a;
n++; }
return s/n;
}
T av_salary()
{
T s=0, n=0;
for(a=m_salary.begin();a!=m_salary.end();a++)
{ s+= *a;
n++; }
return s/n;
}
T av_age()
{
T s=0, n=0;](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_18.png)
![for(a=m_age.begin();a!=m_age.end();a++)
{ s+= *a;
n++; }
return s/n;
}
void katta_maosh()
{
T s1=0, n1=0,mx1=0;
for(a=m_goal.begin();a!=m_goal.end();a++)
{
if(*a>mx1)
mx1 = *a;
s1 += *a;
n1++;
}
T s2=0, n2=0,mx2=0;
for(a=m_salary.begin();a!=m_salary.end();a++)
{
if(*a>mx2)
mx2=*a;
s2 += *a;
n2++;
}
if(getIndex(m_goal,mx1)== getIndex(m_salary,mx2))
cout<<"Gollari soni eng yuqori bo`lgan sportchi, eng ko`p maosh oladi \n";
else
cout<<"Gollari soni eng yuqori bo`lgan sportchi, eng ko`p maosh olmaydi \n";
} };
int main()
{ vector <int> V1;
vector <int> V2;
vector <int> V3; int
n,a,b,c;
cout << "Jamoa o'yinchilari sonini kiriting: \n";
cin >>n;
cout << "Jamoa o'yinchilari yoshini kiriting: \n";
for(int i=0; i<n; i++)
{ cin>>a;
V1.push_back(a);}](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_19.png)
![cout << "Jamoa o'yinchilari golini kiriting: \n";
for(int i=0; i<n; i++)
{ cin>>b;
V2.push_back(b);}
cout << "Jamoa o'yinchilari maoshini kiriting: \n";
for(int i=0; i<n; i++)
{ cin>>c;
V3.push_back(c);}
FootballClub <int> club(V1,V2,V3);
cout<<"Jamoa o`rtacha yoshi: "<<club.av_age()<<endl;
cout<<"Jamoa urgan o`rtacha gollar soni: "<<club.av_goal()<<endl;
cout<<"Jamoaning o`rtacha maoshi: "<<club.av_salary()<<endl;
club.katta_maosh();
return 0;}
Dastur natijasi:
4-topshiriq.
86-masala. Navbat sinfi shablonini yarating. Bo’sh joy o’chirilganda yoki to’la
navbatga element qo’shishga urinilganda istisno generatsiya qiling.
#include <iostream>
using namespace std; class
Queue {
static const int SIZE=10;
int *queue; int frnt, rear;
public :
Queue () ;](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_20.png)
![void push ( int num ) ;
void out(); int size();
void pop(); int front();
int back();
int getrear(){return rear;}
int getfrnt(){return frnt;}
} ;
//Konstruktor
Queue::Queue() { queue
= new int[SIZE];
frnt = rear = 0 ;
}
//Navbat elementlarini chop etish
void Queue::out() {
for(int i=frnt+1;i<rear+1;i++)
cout<<" "<<queue[i];
}
//Navbatga element qushish
void Queue::push ( int num ) {
try{
if ( rear+1 == frnt || ( rear + 1 ==SIZE && !frnt ))
{ throw "Navbat tuldi" ;
return ; }}
catch(const char*exception){
cerr << "\nXatolik: " << exception;
} rear++; if ( rear==SIZE )
rear = 0 ; queue [ rear ] =
num;
}
// Navbatdan element uchirish
void Queue::pop() {
try{ if(frnt==rear){
throw " Navbatdan element o'chirib bo'lmaydi";
} }
catch(const char*exception)
{
cerr << "\n Xattolik : " << exception ;
} frnt++;
if ( frnt==SIZE ) frnt = 0 ;
}](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_21.png)
![//Navbat ulchamini aniqlash
int Queue::size() {
int s=0;
for(int i=frnt; i<rear; i++)
s++;
return s;
}
// Navbatning oxirgi elementi
int Queue::back() { return
queue[rear]; } // Navbatning
birinchi elementi int
Queue::front()
{ return queue[frnt+1]; }
int main()
{ Queue queue1;
int i, a, n;
cout<<"Navbat ulchami:"; cin>>n;
cout<<n<<" ta element kiriting" << endl;
for (i = 1 ; i <= n; i++ ) {
cin>>a;
queue1.push (a);}
cout<<"Navbatquyidagi<<endl;
queue1.out();
/*cout<<endl <<"Navbatning oxirgi elementi:"<< endl;
cout<<queue1.back();
cout<<endl<<"Navbatning birinchi elementi"<<endl;
cout<<queue1.front();*/
cout<<endl <<"Navbatdan element uchirish";
queue1.pop(); //queue1.pop();
cout<<endl <<"Qolgan elementlar";
queue1.out();
cout<<endl;
cin.get();
return 0;
}
Dastur natijasi 1:](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_22.png)
![Dastur natijasi 2:
5-topshiriq.
102-masala.N ta element iborat ro’yxat hosil qiling. Boshlang’ich elementini o’chiring,
Oxirgi elementini o’chiring, boshidan element qo’shing, oxiridan element qo’shing,
birinchi elementiga murojaat qiling, oxirgi elementiga murojaat qiling, ko’rsatilgan
joyga element qo'shing, barcha dublikatlarni o’chiring.
#include <iostream>
#include <list>
#include <iterator>
using namespace std;
class List {
list <int> lst;
int m_size;
list<int>:: iterator b;
public:
List(list <int> lst1, int a)
{ lst=lst1;
m_size = a;
}
List() {
lst={0};](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_23.png)
![m_size=0;
}
void remove_back()
{
lst.pop_back();
}
void remove_front()
{
lst.pop_front();
}
void add_back(int c)
{
lst.push_back(c);
}
void add_front(int c)
{
lst.push_front(c);
}
void get_unique()
{
lst.unique();
}
void print()
{
for(b=lst.begin(); b!=lst.end(); b++)
cout<<*b<<" ";
cout<<endl;
}
int get_front()
{
return lst.front();
}
int get_back()
{
return lst.back();
} }; int
main()
{ int
n,c,b;
cout<<"Elementlar sonini kiriting: n="; cin>>n;](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_24.png)
![list <int> lst1;
cout<<"Ro`yxat elementlarini kiriting:"<<endl;
List object1(lst1,n);
for(int i=0; i<n; i++)
{ cin>>c;
object1.add_front(c);
}
cout<<"Ro`yxatning elementlari: "<<endl;
object1.print();
cout<<"Ro`yxatdan dublikat elementlar o`chirildi!"<<endl;
object1.get_unique();
object1.remove_back();
object1.remove_front();
cout<<"Ro`yxatning boshlang`ich va oxirgi elementi o`chirildi \nYangi ro`yxat: \n";
object1.print();
cout<<"Ro`yxatning oxiriga element qo`shish uchun son kiriting: b=";
cin>>b;
object1.add_back(b);
cout<<endl; object1.print();
cout<<"Ro`yxatning boshlang`ich elementi: "<<object1.get_front()<<endl;
cout<<"Ro`yxatning oxirgi elementi: "<<object1.get_back()<<endl; }
Dastur natijasi:
Xulosa](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_25.png)
![Men 203-guruh talabasi Salimova Dilyora tayorlagan mustaqil ish davomida
obyektga yo’naltirilgan dasturlash haqida juda ko’p ma’lumotga ega bo’ldim va shuni
xulosa qildmki, dasturlashdagi obyekt(bundan keyin oddiygina obyekt deb ketiladi)
ham haqiqiy hayotdagi obyektlarga o'xshash: Ular ham qandaydir hususiyatlar va
bajaradigan funktsiyalardan iborat bo'ladi. Obyektning hususiyatlari har xil
dasturiy o'zgaruvchilardan iborat bo'ladi va ularning o'zgartirish uchun
qandaydir funktsiyalar bajariladi. Bunday funktsiyalar bilan o'zgaruvchilarning
holatini berkitish mumkin ya'ni aynan o'sha o'zgaruvchini tashqaridan o'zgartirish
uchun albatta maxsus funktsiyadan foydalanish kerak bo'ladi. Bu jarayon
" Enkapsulatsiya " deb atalib, OYDning eng muxim tushunchalaradian biridir. Hech
e'tibor berganmisiz dorilarda ham shu termin ishalitladi ya'ni kapsula(ustidan
maxsus modda bilan o'ralgan dorilar), buni misolni Enkapsulatsiya jarayoni esda
yaxshi qolishi va tushunarli bo'lishi uchun keltirdim.
Uning o'zgaruvchilari( hozirgi tezligi, qolgan benzini, va h.k) va uning
funktsiyalari(to'xtatish, tezlikni oshirish, rulni burish, va h.k.). Bu yerda uning
bakidagi benzini yurishi tufayli kamayib boradi demak uning qiymatining o'zgarishi
0dan bakning sig'imigacha bo'ladi, yoki uning tezligi ham shu kabi aynan qaysidir
funktsiyalarning amalga oshirilishi orqali u ham 0 dan maksimal tezligigacha
o'zgarishi mumkin. Bulardan tashqari mashinaning ba'zi hususiyatlari borki ular
o'zgarmasligi mumkin, masalan, rangi.
Demak, ko'rinib turiptiki mashina ham o'z navbatida bir necha mayda
obyeklardan iborat bo'ladi. Bir daqiqaga to'xtang va hozirda atrofingizdagi biror
narsalarni analiz qiling. Har bir obyekt uchun o'zingizdan so'rang: "Bu obyektning
qanday hususiyatlari bor?" , "Qanday vazifalarni bajaradi?" kabi. Va kuzatish
natijalaringizni yozib oling, sezgan bo'lsangiz tuziladigan ro'yxat obyektning
murakkabligiga qarab ko'payib boradi. Kompyuter indikatorining 2 ta hususiyati bor
o'chiq va yoniq; funktsiyalari esa yonish va o'chish. Bu barcha kuzatishlar OYD
dunyosiga o'tkazish mumkin.
Ob ye k t g a y o' na lt i r i l ga n da st u rl as h - b u bi ro n bi r ma qsa dg a
yo 'n al t i ri lg an da st u rl as h de g an m a' no ni a ng lat a di . P r ot s e du ra vi y
dast ur la sh - b u ma' lu mo t l ar ga i sh l ov be ra di g an p ro t s e du ra la r yo k i
fu nk t si y al ar ni y oz i s h , ob 'e k t ga y o' na lt i r i l ga n dast ur la sh e s a m a' lu mo t v a
fu nk t si y al ar ni o 'z i ch i ga ol ga n o b'e k t la rn i ya ra t i sh h a qi da.
Foydalanilgan a dabiyotlar](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_26.png)
![1. Gradi Buch. Obektno –oriyentirovannoy analiz i proyektirovaniye s
primerami prilojeniy na S++. Nevskiy dialekt, 560 str, 2001 g.
2. Grexem I. Obektno oriyentirovann ы ye metod ы . Prinsip ы i praktika.
Vilyams. 879 str, 2004 g.
3. Ivanova G.S. Obektno oriyentirovannoye programmirovaniye. Uchebnik.
MGTU im Baumana. 320 str, 2003 g.
4. Fauler M., Skott K. UML v kratkom izlojenii. Primeneniye standartnogo
yaz ы ka obektnogo modelirovaniya. M., Mir, 1999.
5. Buch G., Rambo D., Djekobson A. Yaz ы k UML: rukovodstvo polzovatelya.
M., DMK, 2000.
6. Pol Ayra. Obektno-oriyentirovannoye programmirovaniye na S++. Vtoroye
izdaniye. M.: Binom, 1999.
7. Podbelskiy V.V. Yaz ы k S++ M.: Finans ы i statistika, 1996.
8. Straustrup B. Yaz ы k programmirovaniya S++. Trete izdaniye, M.: Binom,
1999.
9. Liberti D. Osvoy samostoyatelno S++: 10 minut na urok. Per s angl.
Vilyams, 374 str,2004 g.
10. Shmidskiy Ya.K. Prorammirovaniye na yaz ы ke S++: Samouchitel.
Uchebnoye posobiye. Dialektika. 361 str, 2004 g.
11. Krupnik A.B. Izuchayem S++. Piter. 251 str, 2003 g.
12. Meyers S. Naiboleye yeffektivnoye ispolzovaniye S++. 35 nov ы x
rekomendasiy. DMK-Press, 304 str, 2000 g.
13. Feyson T. Obektno-oriyentirovannoye programmirovaniye na S++ 4.5.
Kiyev: Dialektika, 1996.
14. Shildt G. Samouchitel S++. Vtoroye izdaniye. SPb.: BHV, 1998.](/data/documents/dccbeaf4-08af-43e9-b5de-eb2071d4d45f/page_27.png)
Mavzu: Obyektga yo'naltirilgan dasturlash . C++ OOP. Reja: 1.Kirish. 2. C ++ OOP nima? (Object Oriented Programming = OOP) 3. C++ sinflar va ob’ektlar 4. C++ Method (Sinf/Class) 5. C++ Enkapsulatsiya. 6. C++ Polimorfizm. 7. C++ Merosxurlik 9.Xulosa. 10.Foydalanilgan adabiyotlar. KIRISH
Obyekt nima? Obyekt Obyektga yo'naltirilgan dasturlash(OYD) texnologiyasining eng asosiy kalit tushunchasidir. Atrofga qarang, haqiqiy hayotdagi bir necha obyektlarni ko'rishingiz mumkin: stol, uy, it, mushuk, televizor va h.k. Ularning barchasining albatta hususiyatlari va bajaradigan vazifalari (funktsiyalari) bor. Masalan, Mushuk hususiyatlari: rangi, qorni to'qligi, yoshi, jinsi; funktsiyalari: ovqat yeyishi, myovlashi, yurishi, sichqon tutishi. Mashina, hususiyatlari: tezligi, rangi, nomi, narxi; funktsiyalari: yurishi, to'xtashi, oyna artgichlarining ishlashi, eshiklarning ochilib yopilishi v.h.k. Bir daqiqaga to'xtang va hozirda atrofingizdagi biror narsalarni analiz qiling. Har bir obyekt uchun o'zingizdan so'rang: "Bu obyektning qanday hususiyatlari bor?" , "Qanday vazifalarni bajaradi?" kabi. Va kuzatish natijalaringizni yozib oling, sezgan bo'lsangiz tuziladigan ro'yxat obyektning murakkabligiga qarab ko'payib boradi. Kompyuter indikatorining 2 ta hususiyati bor o'chiq va yoniq; funktsiyalari esa yonish va o'chish. Bu barcha kuzatishlar OYD dunyosiga o'tkazish mumkin. Dasturlashdagi obyekt(bundan keyin oddiygina obyekt deb ketiladi) ham haqiqiy hayotdagi obyektlarga o'xshash: Ular ham qandaydir hususiyatlar va bajaradigan funktsiyalardan iborat bo'ladi. Obyektning hususiyatlari har xil dasturiy o'zgaruvchilardan iborat bo'ladi va ularning o'zgartirish uchun qandaydir funktsiyalar bajariladi. Bunday funktsiyalar bilan o'zgaruvchilarning holatini berkitish mumkin ya'ni aynan o'sha o'zgaruvchini tashqaridan o'zgartirish uchun albatta maxsus funktsiyadan foydalanish kerak bo'ladi. Bu jarayon " Enkapsulatsiya " deb atalib, OYDning eng muxim tushunchalaradian biridir. Hech e'tibor berganmisiz dorilarda ham shu termin ishalitladi ya'ni kapsula(ustidan maxsus modda bilan o'ralgan dorilar), buni misolni Enkapsulatsiya jarayoni esda yaxshi qolishi va tushunarli bo'lishi uchun keltirdim. Mashinani tasavvur qiling, Uni dasturlash obyekit sifatida modellashtiramiz: Uning o'zgaruvchilari( hozirgi tezligi, qolgan benzini, va h.k) va uning funktsiyalari(to'xtatish, tezlikni oshirish, rulni burish, va h.k.). Bu yerda uning bakidagi benzini yurishi tufayli kamayib boradi demak uning qiymatining o'zgarishi 0dan bakning sig'imigacha bo'ladi, yoki uning tezligi ham shu kabi aynan qaysidir funktsiyalarning amalga oshirilishi orqali u ham 0 dan maksimal tezligigacha o'zgarishi mumkin. Mavzu : Obyektga yo'na ltirilgan dasturlash . C++ OOP C ++ OOP nima? (Object Oriented Programming = OOP)
OOP (O bj e ct O ri e nt e d P r og ra mm i n g - Oby e k t ga y o' na lt i r i l ga n dast ur la sh ) - bu bi ro n bi r ma qs ad ga y o' na lt i ri lg an dast ur la sh de ga n ma' no ni a ng lat adi . P r ot s e du ra vi y da st u rl as h - b u ma' lu mo t la rg a i sh l ov be r ad i g an pr ot se d ur al ar y ok i f unk t si ya la rn i y oz i s h , o b' e k t g a yo 'n al t i ri lg an da st u rl as h e sa ma 'l um ot va f unk t si ya la rn i o' z i ch i ga o lg an o b' e k t l ar ni y ar at i sh h aq i da . Ob' e k t g a y o' na lt i r i l ga n da st u rl as h p ro t se ss ua l da st u rl as h d an b i r qat or afz al li k l ar ga e ga : O O P t e z r o q v a b a j a r i l i s h i o s o n r o q O O P d a s t u r l a r n i n g a n i q t u z i l i s h i n i t a ' m i n l a y d i O O P C + + k o d i n i D R Y " D o n ' t R e p e a t Y o u r s e l f " s a q l a s h g a y o r d a m b e r a d i v a k o d n i s a q l a s h , o ' z g a r t i r i s h v a d i s k r a s k a d r o v k a q i l i s h n i o s o n l a s h t i r a d i . O O P k o d n i k a m v a i s h l a b c h i q a r i s h v a q t i n i q i s q a r t i r g a n h o l d a t o ' l i q q a y t a i s h l a t i l a d i g a n i l o v a l a r n i y a r a t i s h g a i m k o n b e r a d i . C + + - b u o b' e k t g a y o' na lt i r i l ga n da st u rl as h t i l i . C + + d ast u rl as h t i li da h amm a nar sa u ni ng x u su si ya t la ri v a u su ll ar i bi la n bi r q at o rd a si nf lla r va ob ye k t la r bi lan b og 'l i q . Sinf - bu bizning dasturimizda foydalanishimiz mumkin bo'lgan foydalanuvchi belgilaydigan ma'lumot turi va u ob'ekt tuzuvchisi yoki ob'ektlarni yaratish uchun "reja" sifatida ishlaydi. Sinf yarating. Si nf ya ra t i s h uc h u n cl a s s k ali t so 'z dan fo yd al an i n g. " My Cl a ss " No mli si n f ya ra t a mi z . class MyClass { // class public : // ochiqlik siyosati int myNum; // Attribute (int tipiga tegishli) string myString; // Attribute (string tipiga tegishli) }; Misolni tushuntirish. c l a s s K a l i t s o ' z M y C l a s s d e b a t a l g a n b i r s i n f y a r a t i s h u c h u n i s h l a t i l a d i . p u b l i c K a l i t s o ' z b i r b o ' l i b k i r i s h b e l g i s i i f o d a l a y d i . B u d e g a n i c l a s s d a n t a s h q a r i d a h a m a t t r i b u t l a r d a n f o y d a l a n i s h m u m k i n .
S i n f i c h i d a b u t u n s o n m y N u m v a s a t r o ' z g a r u v c h i s i m a v j u d m y S t r i n g . O ' z g a r u v c h i l a r s i n f i c h i d a e ' l o n q i l i n g a n i d a , u l a r a t r i b u t l a r d e b n o m l a n a d i . N i h o y a t , s i n f t a ' r i f i n i n u q t a - v e r g u l b i l a n t u g a t i n g ; . Ob'ektni yaratish. C + + d ast ur la sh t i li da bi z si nf y ar at di k , My Cl a ss no ml i c las s ya ra t di k , sh u ni ng u ch un bu nd an fo yd al an i b o by e k t y ar at ami z. O b' e k t ni ya ra t i s h uc h u n My Cl a ss si n f no mi ni , so 'n gr a ob 'e k t no mi ni k o' rs at i n g. # include <iostream> # include <string> using namespace std; class MyClass { public : int myNum; string myString; }; int main () { MyClass myObj; myObj.myNum = 15 ; myObj.myString = "Some text" ; cout << myObj.myNum << "\n" ; cout << myObj.myString; return 0 ; } 15 Some text Bir nechta ob'ektlar. Si z bi t t a si nf ni n g bi r ne ch t a ob 'e k t la ri ni ya ra t i sh i n gi z mu mk i n: Me t h od si n fg a t e gi s h li fu nk s i y al ar di r. Si nf ga t e gi sh l i fu nk si y al ar ni ani ql ash u ch un i k k i y o' l m avj ud . I c h k i s i n f t a ' r i f i
S i n f d a n t a s h q a r i t a ' r i f Si nf t ash qa ri da f un k si ya ni ani ql ash uc h u n s i nf i ch i da e 'l on qi li sh k e r ak va k e yi n u ni si n fd an t a sh q ar i d a e ' lo n q i li sh k e rak . :: si n f n om i ni k o' rs at i sh uc h u n i sh lat i lad i . # include <iostream> using namespace std; class MyClass { public : void myMethod (); }; void MyClass::myMethod () { cout << "Hello World!" ; } int main () { MyClass myObj; myObj. myMethod (); return 0 ; } Hello World! Parametrlar. Si z sh u ni ng de k pa ra me t rl ar ni q o' sh i sh i ng i z m umk i n : # include <iostream> using namespace std;