Middle
C++-da postfix və prefix artım operatorunu necə yükləmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
C++ dilində prefiks və postfix artırma operatorları ++ iki fərqli üzv funksiyası imzası ilə aşırı yüklənir:
-
Prefiks artırma: Dəyişiklikdən sonra cari obyektə (
*this) istinad qaytarır.ClassName& operator++() { // Prefiks artırma loqikası // Obyektin vəziyyətini dəyişdir return *this; // Dəyişdirilmiş obyektə istinad qaytar } -
Postfix artırma: Dəyişiklikdən əvvəl obyektin nüsxəsini qaytarır. Fiktiv parametr
intmövcudluğu ilə fərqlənir.ClassName operator++(int) { ClassName temp = *this; // Cari vəziyyəti yadda saxla // Postfix artırma loqikası // Obyektin vəziyyətini dəyişdir return temp; // Yadda saxlanmış nüsxəni qaytar }
| Artırma növü | Funksiya imzası | Qaytaran dəyər | Parametrlər |
|---|---|---|---|
| Prefiks | ClassName& operator++() |
Dəyişdirilmiş obyektə istinad | Heç biri |
| Postfix | ClassName operator++(int) |
Dəyişiklikdən əvvəl obyektin nüsxəsi | Fiktiv int |