Новый документ (3) (1) (1)



Pdf көрінісі
бет14/16
Дата10.12.2023
өлшемі330,22 Kb.
#136675
1   ...   8   9   10   11   12   13   14   15   16
Байланысты:
Новый документ (3) (1) (1)

2.Көпше түрдегі мұрагерлік
С++. тағы туынды класс базалық кластың кез–келген санынан туындауы
мүмкін. Туынды кластың құрамында бірден көп базалық кластың болуы
көпше түрдегі мұрагерлік деп атайды. Синтаксистік көпше түрдегі
мұрагерлік жекеше түрдегі мұрагерліктен бірнеше элементтен тұратын
база тізімен ерекшеленеді.
Class A
{
};
Class B
{
};
Class C: public A, public B
{
};
Туынды кластың таныстырушы
– объектісін қалыптастырғанда, база
тізіміндегі
базалық
кластардың
орналасу
қалпы
(умолчания)
конструкторларының шақыруының кезеңімен анықталады.
Бұл қалпы осы объектілерді жою кезінде деструкторлардың шақыруы
кезегіне де септігін тигізеді. Бірақ бұл мəселелер алгоритм секілді базалық
объектілерге бөлінген памяттер жəне де бұл релизация сұрағына қатысты
болып табылады. Əдетте программист бұған арнайы көңіл бөлмеуі мүмкін.


Шектеу орналғандықтан туынды кластарды хабарлауда база тізіміне
бірдей атаудағы класс бірнеше рет кіре алмайды. Бұл, туынды класты
қалыптастырғанда қатысқан қайталанатын элементтер базалық кластарды
қабылдаған кезде кездеспеуі керек дегенді білдіреді.
Сонымен бірге, бірдей класс белгіленген туынды кластағы бірнеше
базалық кластарды қалыптастырғанда қатыса алады. Сондықтан туынды
класты қалыптастырғанда қатысқан тура емес базалық кластарға туынды
кластың хабарламасына кіру санына еш шектеу қойылмайды.
class A
{
public:
int x0,xA;
};
class B: public A
{
public:
int xB;
};
class C:public A
{
public:
int x0,xC;


};
class D:public B, public C
{
public:
int x0,xD;
};
Бұл мысалда А мен Д класын хабарлауда екі рет тура емес базалық класс
ретінде қолданылады.
Туынды кластың құрылымын таныстарғанда ацикличестік графалар,
кластар мен объектілердің сызба нұсқасы қолданылады.
Бұрындағы секілді туынды класта көрсетіп бағытталған, ацикличестік
графаның ең төменгі бөлігі, сызба нұсқаның төменгі деңгейімен туынды
класс пен объект фрагментінен сəйкес келеді.
Біз
бұндай
объекті
фрагменттін
белгіленген
кластың
туынды
таныстырушы – фрагменті деп атаймыз.
Графаның жоғарғы бөлігі, сызба нұсқаның жоғарғы деңгейі базалық
класс пен объект фрагментіне сəйкес келеді.Біз бұндай объекттін
фрагментін кластың базалық таныстырушы базалық фрагменті деп
атаймыз.


Достарыңызбен бөлісу:
1   ...   8   9   10   11   12   13   14   15   16




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет