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
}