C++ Const Fonksiyon Örnekleri

C Const Fonksiyon Ornekleri



Bu makale, C++'daki işlevle birlikte kullanılan “const” anahtar sözcüğüne odaklanmaktadır. “Const” anahtar sözcüğü programın çalışması sırasında değiştiremediğimiz sabit değer olarak anılır. C++'daki “const” işlevleri, veri üyelerinin kendi sınıflarında değiştirilmesi kısıtlanan işlevlerdir. 'Cont' işlevleri, nesnenin değerinde beklenmeyen değişiklikleri önleyebilecekleri için verimli bir şekilde kullanılır.

Örnek 1: C++'da Const Üye Fonksiyonunun Programı

Burada const üye fonksiyonunun basit bir programı var:

#include
kullanarak ad alanı std ;
sınıf Sınıfım {
int birde ;
halk :
Sınıfım ( int N = 0 ) {
birde = N ;
}
int Değer elde etmek ( ) yapı {
geri dönmek birde ;
}
} ;
int ana ( ) {
yapı Sınıfım c ( 30 ) ;
Sınıfım c1 ( 5 ) ;
cout << 'C nesnesini kullanan numara: ' << C. Değer elde etmek ( ) ;
cout << ' \N c1 nesnesini kullanan sayı: ' << c1. Değer elde etmek ( ) ;
geri dönmek 0 ;
}

Başlangıçta programın giriş/çıkış akışlarını sağlayan başlık dosyasını tanımlarız. Daha sonra bir “num” değişkeni bildireceğimiz “MyClass” sınıfını ve MyClass() fonksiyonu ile getVal() fonksiyonunun üye fonksiyonlarını ayarlıyoruz. MyClass() fonksiyonu içerisinde “n” parametresini “0” değerine ayarlıyoruz. Daha sonra “n” argümanı “num” değişkenine atanır. Daha sonra getVal() fonksiyonunu “const” anahtar kelimesiyle çağırırız, bu da nesnenin mevcut durumunun bir fonksiyon çağrısında değiştirilemeyeceğini belirtir. getVal() işlevi “num” üye değişkenini döndürür.







Son olarak main() fonksiyonuna ulaşıyoruz. Burada MyClass() fonksiyonunun “c” ve “c1” nesnelerini tanımlayıp değerleri bu nesnelere de aktarıyoruz. “c” nesnesi “const” anahtar sözcüğüyle ayarlanır ve bu nesneye atanan değerin değiştirilemeyeceğini belirtir.



Nesnenin çağırdığı const üye fonksiyonunun çıktısı aşağıda gösterilmiştir. Bu şekilde “const” anahtar sözcüğünü üye işlevi ve nesneyle birlikte kullanabiliriz:







Örnek 2: C++'da Sınıf Dışındaki Const Üye Fonksiyonunun Programı

Artık, const üye fonksiyonunun bir sınıf tanımının dışında tanımlandığı ve const üye fonksiyonunu kullanarak özel bir üye değişkeni değerini ayarlayıp aldığı başka bir uygulamamız var.

#include
kullanarak ad alanı std ;

sınıf Yeni Sınıf {
int Ben ;

halk :
geçersiz set_record ( int ) ;

int get_record ( ) yapı ;
} ;

geçersiz Yeni Sınıf :: set_record ( int X ) { Ben = X ; }
int Yeni Sınıf :: get_record ( ) yapı { geri dönmek Ben ; }

int ana ( )
{
YeniSınıf c ;
C. set_record ( 10 ) ;
cout << C. get_record ( ) ;

geri dönmek 0 ;
}

Burada öncelikle gizli tutulan “i” değişkenini başlattığımız “NewClass” adında bir sınıf oluşturuyoruz. Bundan sonra set_record() ve get_record() üye fonksiyonlarının tanımlandığı public bir anahtar kelimemiz var. set_record() üye işlevi “i” değişkeninin değerini ayarlamak için kullanılır ve burada get_record() işlevi “i” değişkeninin değerini döndürmek için kullanılır. “Const” anahtar sözcüğünü, onu const üye işlevi olarak temsil eden get_record() üye işleviyle birlikte kullandığımızı ve nesne durumunun değiştirilemeyeceğini unutmayın. Bundan sonra “i” değişkeninin değerini ayarlamak için set_record() fonksiyon tanımımız var.



Benzer şekilde “i” değişkeninin değerini almak için get_record() fonksiyon tanımına sahibiz. Daha sonra “NewClass” sınıfının “c” nesnesinin bildiriminin bulunduğu main() fonksiyonunu ayarlıyoruz. Daha sonra “z” değişkenine değer atamak için const üyesi olmayan bir fonksiyon olan “set_record” çağrılır. Devam ederek “i” değerini yazdırmak için get_record() const üye fonksiyonunu çağırıyoruz.

Özel üye değişkeninin değeri const üye işlevi tarafından çağrılır ve aşağıdaki komut isteminde gösterilir:

Örnek 3: Sınıf Dışında Bağımsız Bir Fonksiyon Olarak Tanımlanan Sabit Üye Fonksiyonun Programı

Bununla birlikte, const anahtar sözcüğünü içeren üye işlevin sınıf dışında bağımsız bir işlev olarak çağrıldığı const üye işlevinin başka bir durumunu uyguluyoruz.

#include
kullanarak ad alanı std ;
sınıf Denklem {
int n1,n2 ;
halk :
geçersiz set_equation ( int X, int Ve )
{
n1 = X ;
n2 = Ve ;
}
geçersiz show_equation ( )
{
cout << 'Denklem şudur:' << n1 << '+' << n2 << 'B' << sonunda ;
}
arkadaş geçersiz eğlenceli ( yapı Denklem ) ;
} ;
geçersiz eğlenceli ( yapı Denklem nesnesi )
{
cout << 'Denklem kullanma fonksiyonu: ' << obj. n1 << '+' << obj. n2 << 'B' << sonunda ;
}
int ana ( )
{
Denklem nesnesi ;
obj. set_equation ( 5 , 8 ) ;
obj. show_equation ( ) ;
eğlenceli ( obj ) ;
}

Burada “Equation()” sınıfını oluşturup ardından “n1” ve “n2” değişkenlerini deklare ediyoruz. Burada “n1” ve “n2” değişkenlerinin değerlerini ayarlamak için set_Equation() üye fonksiyonunu da ekliyoruz. show_Equation() işlevi, bu değişkenler kullanılarak oluşturulan denklemi gösterir.

Bundan sonra, “friend” anahtar sözcüğü kullanılarak tanımlanan funIs() işlevinin bir işlev bildirimine sahibiz. Bu “friend” anahtar sözcüğü “Equation” sınıfının özel üyesine erişmemizi sağlar. Daha sonra sınıf dışından “funIs()” arkadaş fonksiyonunu çağırıyoruz ve “Equation” sınıfının “obj” parametresini const olarak giriyoruz. Sonunda “Equation” sınıfının nesnesini bildirdiğimiz bir main() fonksiyonumuz var. Daha sonra set_Equation() fonksiyonunu kullanarak “n1” ve “n2” değişkenlerinin değerlerini ayarlıyoruz. “n1” ve “n2” değişkenleri show_Equation() fonksiyonunu kullanarak değerlerini görüntülemek için kullanılır. Son olarak denklemi görüntülemek için “Equation” sınıfının “funIs” arkadaş fonksiyonunu çağırıyoruz.

Const arkadaş fonksiyonunu kullanan denklem ve denklem bilgi isteminde görüntülenir:

Örnek 4: C++'da Değeri Güncelleyecek Const Üye Fonksiyon Programı (En Kötü Durum)

Program, const üye işlevinin en kötü senaryosunu gösterir; burada 'const üye işlevi içinde' adı verilen değişkenin değerini değiştirmeye çalışırız.

#include
kullanarak ad alanı std ;

sınıf Veri {
int içinde ;

halk :
geçersiz setValue ( int Ben ) { içinde = Ben ; }
int Değer elde etmek ( ) yapı
{

++ içinde ;
geri dönmek içinde ;
}

} ;

int ana ( )
{
Veri d ;
D. setValue ( yirmi ) ;
cout << sonunda << D. Değer elde etmek ( ) ;

geri dönmek 0 ;
}

Burada öncelikle “Data” sınıfını oluşturuyoruz ve sınıf içerisinde “v” değişkenini deklare ediyoruz. Bundan sonra “public” anahtar kelimesini ayarlayıp, sınıfın yapıcısını temsil eden “setValue()” ve sınıfın alıcı üye fonksiyonunu gösteren getValue() fonksiyonunun sınıf üye fonksiyonlarını deklare ediyoruz. setValue() fonksiyonu parametre olarak “i” değişkenini alır. Bu “i” değişkeni “v” üye değişkenine atanır.

Bundan sonra “v” değişkeninin değerini aldığımız getValue() fonksiyon tanımına sahibiz. getValue() fonksiyonu “const” anahtar sözcüğü ile bildirildiğinden “v” değişkeninin değerinin hiçbir durumda güncellenemeyeceğini ifade eder. Ancak değerini değiştirmek için kasıtlı olarak 'v' değişkenini artırmaya çalışırız. Program bu aşamaya geldiğinde hata atılır. Son olarak “Data” sınıfının “d” nesnesini tanımladığımız ve bu “d” nesnesi için “20” değerini ayarladığımız main() fonksiyon çağrımız var. Daha sonra nesnenin “d” değerini almak için getValue() fonksiyonunu çağırıyoruz.

İstem, const üyesi işlev nesnelerinin değerini değiştirmemize izin verilmediğinden '++v' konusunda hata verdiği önceki uygulamanın sonuçlarını üretir:

Çözüm

Sonuç olarak, programın değerinde kazara değişiklik yapılmasını önlemek için kullanılan C++'ın const fonksiyonuna dalıyoruz. C++'daki const üye işlevleri, çağrıldıkları nesnelerde değişiklik yapılmasına izin verilmeyen salt okunur işlevlerdir. Ayrıca C++'daki işlevselliğini göstermek için const işlevinin çeşitli senaryolarını da uyguladık.