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


Download 0.58 Mb.
bet21/71
Sana08.05.2023
Hajmi0.58 Mb.
#1444224
TuriПрограмма
1   ...   17   18   19   20   21   22   23   24   ...   71
Bog'liq
С ОЙП

Мурожаат хоссаси

Таянч синфдаги мурожаат тури

Ворис синфдаги мос мурожаат тури

Public



public
protected
private

public
protected
мурожаат йўқ

Protected



public
protected
private

protected
protected
мурожаат йўқ

Private

public
protected
private

private
private
мурожаат йўқ

Жадвал билан танишиш шуни кўрсатадики, ворисликнинг мурожаат хоссаси таянч синфда ўрнатилган мурожаат даражасини қандай даражагача тушганлигини кўрсатади (очиқ аъзоларга нисбатан). Агар таянч синфдаги аъзоларга ҳосилавий синфларда мурожаат қилиш зарур бўлса уларни public деб эълон қилиш керак бўлади.


Мисол.
class Tayanch
{
int x,y;
public:
Tayanch(int _x=5,int _y=10){x=_x; y=_y;}
int X_Qiymati(){return x;}
int Y_Qiymati(){return y;}
};
class Hosila : private Tayanch
{
public:
int Tayanch::X_Qiymati();
};
main()
{
int X, Y;
Hosila ob;
X=ob.X_Qiymati();
Y=ob.Y_Qiymati();
cout<<”X=”<
return 0;
}
Программада Hosilaviy ҳосилавий синфи таянч синфдаги X_Qiymati() ва Y_Qiymati() функцияларини private даражасидаги мурожаат билан ворислик бўйича олади ва экранга
X=5, Y=10
ифодалари чоп қилинади.
Шуни қайд этиш керакки, ҳосилавий синф таянч синфнинг фақат public ёки protected аъзоларига мурожаат қилиши мумкин. Таянч синфнинг ёпиқ аъзолари ҳар қандай ворисликда ҳам ёпиқлигича қолади.
Таянч синфнинг қуйидаги элементлари ворислик билан ўтмайди:

  • конструкторлар;

  • нусхалаш конструкторлари;

  • деструкторлар;

  • программа тузувчи томонидан аниқланган қиймат бериш оператори;

  • синфнинг дўстлари.

Ҳосилавий синф битта таянч синфга эга бўлса, бундай ворисликни оддий (якка) ворислик дейилади.
Қуйидаги мисолда оддий ворислик амалга оширилган.

Download 0.58 Mb.

Do'stlaringiz bilan baham:
1   ...   17   18   19   20   21   22   23   24   ...   71




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