1 – dars. C++ Dasturlash tilining kelib chiqishi xaqida ma’lumot


Sinf ob'ekti .Funktsiya nomi va ob’ektga_kursatkich-funktsiya nomi



Download 4,47 Mb.
bet75/89
Sana15.04.2022
Hajmi4,47 Mb.
#553102
1   ...   71   72   73   74   75   76   77   78   ...   89
Bog'liq
C kitob TAYYOR

Sinf ob'ekti .Funktsiya nomi va ob’ektga_kursatkich-funktsiya nomi.
Do’stona funkiyaga murojaat spetsifikatorlari (public, protected, private) qo’llanmaydi. Do’stona funktsiya prototipining sinf usulida joylashtirilishi farqi yo’q. Do’stona funktsiyalar mehanizmi sinflar orasidagi aloqani soddalashtirishga imkon beradi. Sinflardan berkitilgan kompanentalariga murojaat qilish uchungina kiritilgan funktsiyalarni olib tashlash mumkin.
Misol tariqasida “sohadagi nuqta” va “sohadagi chiziq” sinflari uchun do’stona funktsiyani qarab chiqamiz. Sohadi nuqta sinfiga, (h,u) koordinatalarini aniqlovchi kompanentalar kiradi. Sohadagi chiziq sinfining kompanentalari chiziqning umumiy tenglamasi A*h+V*u+S=0 tenglamasi koeffitsentlari A,V,S. Qo’yidagi dasturda ikkala sinf uchun do’stona bo’lgan nuqtadan chiziqqacha masofani hisoblashga imkon beradigan funktsiya kiritilgan.
# include
cla11 line 2 ;
cla11 point 2
{ float x,y ;
public :
point 2 (float xn=0, float yn=0)
{ x=xn; y=yn; }
friend float uclou (point, line 2);
}
cla11 line 2
float A,B,C;
public:
line 2 (float a, float b,float c)
{A=a; B=b; C=c;}
friend float uclou (point 2, line 2);
}
float uclou (point 2 p, line 2 1)
{return 1.A-P.x+1.B*P.y+1.c;)
void main (void)
{ point 2 P(16.0,0.12,12.3);
line 2 h (10.0,-42.3,24.0);
cout << “\n Uklonenie tochik R ot pryamoy L: “;
cout << uclon (P,L);
}
Dastur bajarilishi natijasi
R nuqtadan L chiziqqacha masofa: -336.29009
Bir sinf ikkinchi sinfga do’stona bo’lishi mumkin. Bu holda sinfning hamma komponenta funktsiyalari boshqa sinfga do’stona bo’ladi. Do’stona sinf o’zga sinf tanasidan tashqari ta'riflangan bo’lishi lozim. Masalan:
Cla11 X 2 { friend clarr X1;… };
Cla11 X 1 {…
Void f1 (…);
Void f2 (…);

};
Bu misolda f1 va f2 funktsiyalar X2 sinfiga do’stonadir. Sinflar orasidagi do’stlikka misol tariqasida “N-o’lchovli fazodagi nuqta”-Point N va unga do’stona bo’lgan “Nuqta radiusi vektori”-olctorN sinflarini ko’rib chiqamiz. Sinf hamma kompanentalari-o’lchovi N point va koordinatalar massivi X[Point] hususiydir, va shuning uchun ularga do’stona funktsiya orqali murojat qilish mumkin.
Point N sinfi konstruktori koordinatalari massivi berilgan parametrlar qiymatlari bilan initsializatsiya qiladi. Vector N sinf konstruktor “vektor”ob'ektini Point N sinfining ikki ob'ekti buyicha aniqlaydi. Point N sinfi ob'ektlari vektorning boshi va ohirini aniqlaydilar. Bu vektor koordinatalar boshiga keltiriladi. Konstruktordan tashqari vector N sinfiga vektor normasini hisoblovchi funktsiya kiritilgan. Vektor normasi nuqtalarining koordinatalari yigindisidir. Dasturda ikki ulchovli ikki nuqtasi bo’yicha vektor hosil qilingan va so’ngra har hil o’lchovli ikki nuqtadan vektor hosil qilishga harakat qilingan.
# include < io 1t ream.h >
# include < stdlib.h >
cla11 Point N
int N point;
double*x;
friend cla11 vectorn N;
public:
Point N (int n, donble d=0. 0)
{ N point : : point N (int n, double d)
{ N point=n;
x=new double [ N point ];
for (int I=0; Ix [I]=d;
}
cla11 vector N
double* x0;
int N vector;
public;
vector N (point N, point N);
double norm, ( );
}
vector N: : vector N (pointN beg, point.N end)
{ ij (beg. N point!=end. N point)
{ cerr << “\n nukta ulchovida hato “)
exit (1)
}
N vector=beg. N point;
Xv=nev double [N vector];
For ( int I=0; IXv [I]=end. x[I]-beg.DC [I]
}
double vector N: : norm ( )
{double dd=0.0
for (int I=0; Illf=xv[I]*xv[I];
return dd;
}
void main (void)
{ point N A (2,4,0);
point N B (2,2.0);
vectorn V (a,b)
count < c “\n Vektor normasi : “<< v. Norm ( );
point N X(3,2.0)
vectorn J (A,X);
}
Dastur natijasi:
Vektor normasi 8
Nuqta o’lchovida hato!



Download 4,47 Mb.

Do'stlaringiz bilan baham:
1   ...   71   72   73   74   75   76   77   78   ...   89




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