2. Операторларды қайта анықтаудың түрлері. С++ көптеген операциялар жұмысын нақтылы класс обьектілеріменқолданған кезде олар берілген функцияларды орындайтындайетіп кйта анықтауға мүмкіндік береді. Бұл өзіндік типтерді дәл стандартты типтердей қолдануға көмектеседі. Өзіндік операциялар белгілерін енгізуге болмайды. С++ те бар кез-келген операторларды қайта анықтауға болады, тек мынадан басқа:
. .* ?: : : # ## sizeof
Операторларды қайта анықтау арнайы түрдегі әдістер көмегімен жүзеге асырылады және келесі ережелерге сүйенеді:
Операторларды қайта анықтау кезінде аргументтер көлемі, мәліметтердің қалыпты типтерінде қолданылатын ассоциациялар ережелері ( оңнан солға қарай және солдан онға қарай) және операциялар приоритеттері сақталады;
Функция-операторларды үш түрлі тәсілмен анықтауға болады: ол не класс әдісі болу керек, немесе класстың серіктес функциясы, немесе қарапайым функциясы болу керек. Сонғы екі жағдайда функция класстың типін, бағыттаушысын класс сілтемесіне ие ең болмаса бір аргументті қабылдау керек.
Функция-оператордың operator деген кілттік сөзі болады, одан кейін қайта анықталатын операторының белгісі жүреді:
Тип operator оператор (параметлер тізімі) {функция денесі }