С++ бағдарламалау тілі


Класс достары. Кластарға арналған стандартты операцияларды қайта жүктеу



бет4/5
Дата17.10.2023
өлшемі70,37 Kb.
#116747
1   2   3   4   5
Байланысты:
С негіздері

Класс достары. Кластарға арналған стандартты операцияларды қайта жүктеу
Кейбір жағдайларда класс мүшесі болмауына қарамастан функция бұл кластың жабық мүшелеріне деген қатынау мүмкіншілігіне (доступ ) ие болған жөн.С++ тілі осы әрекетті орындауға мүмкіндік береді,егер функция класс досы немесе мүшесі болып табылатын класты friend қызметші сөзі көмегімен жарияласа.
Дос функциялары мен класстарды қолданудың бірқатар маңызды қызық ерекшкліктерін көрсететін мысалды қарастырайық:
# include
class Class1; //класты алдын ала жариялау
class Class2;
{public:void ff (Class 1 & ref);
};
class Class 1
{private: int x;
//дос функциялары мен кластарға арналған жол беру спецификаторы
//мәні жоқ
friend int main (void); // main – достық функциясы бола алады
friend void f ( Class 1 f ref);
friend class Class3; //Class3 барлық әдістері Class1 класына дос бола алады
friend void Class2: : ff (Class1 & ref);
}; // Class1 анақтамасының соңы class Class3//Class3-Class1 класына дос
{public: void func (Class1 & ref)
{ref.x=9;
return;
}
};
void Class2 : : ff (Class1 & ref)
{ref.x=11;
return;
}
//f-Class1 класына дос қарапайым сыртқы функция
void f (Class1 & ref)
{ref.x=7;
return;
}
int main (void)
{Class1 obj1;
obj1.x=5;
cout <<”obj.1x=”<f (obj1);
cout<<”objl.x=”<Class3 obj3;
Obj3 func(obj1)
Cout <<”obj1.x=” << obj1.x<Class2 obj2;
Obj2.ff(obj1);
Cout <<”obj1.x=” << obj1.x<Return 0;
} // main соңы
Кластарға арналған операциялардың қайта жүктелуі
С++ тілінің көптеген @ операциялары қолданушы типтерінің объектілерімен жұмыс істеу үшін қайта жүктелуі мүмкін. Мұндай мүмкіндіктер объек кластар үшін де болады. @ операциясының қайта жүктелуі @ функция операциясы көмегімен жүзеге асырылады, оны класс мүшесі немесе достық функциясының айналдыруға (қажет емес) немесе жай функцияға айналдыруға болады.
Соңғы екі жағдайда функция – оператор ең болмаса бір сілтеме немесе көрсеткіш, класс типі бар аргументті қабылдау керек. Сыртқы функция операциясы үшін сәйкес класс мүшелерінің қатынауларын ескерген жөн.
Функция – оператор тауы operator қызметші сөзінен, және одан кейін орналасқан қайта анықталатын операция белгісінен тұрады.
Операцияларды қайта жүктеу типті беру,функцияны шақыру ережелері ISO/IES14882 халықаралық стандартында бетілген.


Достарыңызбен бөлісу:
1   2   3   4   5




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

    Басты бет