Объектга йўналтирилган программалаш


class Sinf1; // синфнинг тўлиқмас эълони


Download 0.58 Mb.
bet18/71
Sana08.05.2023
Hajmi0.58 Mb.
#1444224
TuriПрограмма
1   ...   14   15   16   17   18   19   20   21   ...   71
Bog'liq
С ОЙП

class Sinf1; // синфнинг тўлиқмас эълони
class Sinf2;
{
int d;
public;
Sinf2(int _d){d= _d;}
// Дўст функция прототипи
friend bool Karrali_Sonlar(Sinf1 ob1, Sinf2 ob2);
};
class Sinf1
{
int n;
public:
Sinf1(int _n){n= _n;}
// Дўст функция прототипи
friend bool Karrali_Sonlar(Sinf1 ob1, Sinf2 ob2);
};
bool Karrali_Sonlar(Sinf1 ob1, Sinf2 ob2)
{
if (!(ob1.n % ob2.d)) return true;
else return false;
}
main()
{
Sinf1 obekt1(15);
Sinf2 obekt2(3);
if (Karrali_Sonlar(obekt1,obekt2))
cout<<”Sonlar karrali!”;
else cout<<”Sonlar karrali emas!”;
return 0;
}
Бу мисолда синфнинг тўлиқмас эълонидан фойдаланиш кўрсатилган. Бу қўрилмани қўлламасдан ҳали эълони берилмаган синф номини ишлатиб бўлмайди.
Функция бир синфнинг аъзоси бўлган ҳолда бошқа синфнинг дўсти бўлиши мумкин.
Масалан:
include
class Sinf1; // синфнинг тўлиқмас эълони
class Sinf2;
{
int d;
public;
Sinf2(int _d){d= _d;}
bool Karrali_Sonlar(Sinf1 ob1);
};


class Sinf1
{
int n;
public:
Sinf1(int _n){n= _n;}
// Дўст функция прототипи
friend bool Sinf2::Karrali_Sonlar(Sinf1 ob1);
};
bool Sinf2::Karrali_Sonlar(Sinf1 ob1)
{
if (!(ob1.n % d)) return true;
else return false;
}
main()
{
Sinf1 obekt1(15);

Download 0.58 Mb.

Do'stlaringiz bilan baham:
1   ...   14   15   16   17   18   19   20   21   ...   71




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling