Sobes.tech
Junior

C/C++-də sabit metodlar haqqında danış.

sobes.tech Süni İntellekt

AI-dan cavab

Sabit olmayan metod, parametr siyahısından sonra const açar sözcüyü istifadə edilərək elan edilmiş sinif metodudur. Bu, metodun sinif obyektinin (this) vəziyyətini dəyişmədiyini təmin edir.

Əsas xüsusiyyətlər və tətbiqlər:

  • Dəyişməzlik zəmanəti: Sabit olmayan metod daxilində, obyektin statik olmayan məlumat üzvləri birbaşa və ya dolayı yolla dəyişdirilə bilməz.
  • Sabit obyektlər üçün çağırış: Sabit metodlar həm sabit, həm də qeyri-sabit obyektlər üçün çağrıla bilər. Qeyri-sabit metodlar yalnız qeyri-sabit obyektlər üçün çağrıla bilər.
  • Yükçəkmə: Metod, sabitlik xüsusiyyətinə görə yüklənə bilər. Bu, eyni imzaya (ad və parametrlər) malik iki metodun olmasına imkan verir, biri sabit, digəri isə deyil.
  • Tətbiq: Bu metodlar, obyekt dəyişmədən sadəcə məlumat üzvünün dəyərini geri qaytaran erişim metodları (getterlər) və obyektlərə sabit istinadlar və ya göstəricilər qəbul edən funksiyalar üçün istifadə olunur.

Nümunə:

class MyClass {
public:
    int getValue() const { // Sabit metod
        // member_ = 10; oxumaq olar, amma yazmaq olmaz
        return member_;
    }

    void setValue(int val) { // Qeyri-sabit metod
        member_ = val; // Məlumat üzvünü dəyişə bilər
    }

private:
    int member_;
};

void printValue(const MyClass& obj) {
    obj.getValue(); // OK: sabit obyekt üçün sabit metod çağırılır
    // obj.setValue(20); // Xəta: sabit obyekt üçün qeyri-sabit metod çağırıla bilməz
}