Sobes.tech
Middle

როგორ დავატვირთოთ postfix და prefix ინკრემენტის ოპერატორი 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