Достық функциясының ерекшеліктері
● достық функция класс объектісіне автоматты түрде this көрсеткішін ала алмайды, сондықтан оның шақыруында міндетті түрде аргумент ретінде ол жұмыс істеуге қажет класс объектісін көрсету керек;
● консольды қосымшаның басты функциясы класқа дос болуы мүмкін;
● қажетсіз достық функциялары мен кластарын қолдануға тырыспау керек, себебі бұл инкапсуляция концепциясына кері болып табылады.
Кластарға арналған операциялардың қайта жүктелуі(перезагрузка)
С++ тілінің көптеген @ операциялары қолданушы типтерінің объектілерімен жұмыс істеу үшін қайта жүктелуі мүмкін. Мұндай мүмкіндіктер объект-кластар үшін де болады. @ операциясының қайта жүктелуі operator @ фунция-операциясы көмегімен жүзеге асырылады, оны класс мүшесі немесе достық функциясына айналдыруға (қажет емес) немесе жай функцияға (глобальды) айналдыруға болады.
Соңғы екі жағдайда функция - оператор ең болмаса бір сілтеме немесе көрсеткіш, класс типі бар аргументті қабылдау керек. Сыртқы функция - операциясы үшін сәйкес класс мүшелерінің қатынауларын (доступность) ескерген жөн.
Функция - оператор атауы operator қызметші сөзінен, және одан кейін орналасқан қайта анықталатын операция белгісінен тұрады.
Операцияларды қайта жүктеу типті беру, функцияны шақыру ережелері ISO/IES14882 халықаралық стандартында берілген.
Достарыңызбен бөлісу: |