Sobes.tech
Middle

C++'та постфикс жана префикс инкремент операторлорун кантип жүктөө керек?

sobes.tech AI

AIден жооп

C++ тилиде префикс жана постфикс инкремент операторлору ++ эки башка мүчө функциянын имзасы аркылуу ашыкча жүктөлөт:

  • Префикстук көбөйтүү: Өзгөртүүдөн кийин учурдагы объектке (*this) шилтемени кайтарат.

    ClassName& operator++() {
        // Префикстук көбөйтүүнүн логикасы
        // Объекттин абалын өзгөртүү
    
        return *this; // Өзгөртүлгөн объектке шилтемени кайтаруу
    }
    
  • Постфикстук көбөйтүү: Өзгөртүүдөн мурун объекттин көчүрмөсүн кайтарат. Фиктивдүү параметр int бар экендиги менен айырмаланат.

    ClassName operator++(int) {
        ClassName temp = *this; // Учурдагы абалды сактоо
    
        // Постфикстук көбөйтүүнүн логикасы
        // Объекттин абалын өзгөртүү
    
        return temp; // Сакталган көчүрмөнү кайтаруу
    }
    
Инкремент түрү Функциянын имзасы Кайтарылган мааниси Параметрлер
Префикс ClassName& operator++() Өзгөртүлгөн объектке шилтеме Эч нерсе
Постфикс ClassName operator++(int) Өзгөртүүдөн мурун объекттин көчүрмөсү Фиктивдүү int