Sobes.tech
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 int mö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