:: C++'da Ne Yapar?

C Da Ne Yapar



C++, geliştiricilere geniş bir işlevsellik yelpazesi sunan çok yönlü bir programlama dilidir. C++'da en sık kullanılan özelliklerden biri, kapsam çözümleme operatörü olarak da bilinir çift ​​kolon (::) . Dilin hayati bir parçası olmasına rağmen, çift ​​kolon operatör, özellikle bu konuda yeni olanlar olmak üzere birçok geliştirici için kafa karıştırıcı olabilir.

Bu kılavuzda, çift ​​kolon (::) operatörü C++'da ve farklı senaryolarda nasıl çalıştığı.

:: C++'da Ne Yapar?

C++'da, kapsam çözünürlüğü Şebeke (::) çeşitli kapsam düzeylerinde bulunan değişken adlarını almak için kullanılır. Programlamadaki kapsam, değişkenlere ve işlevlere erişilebilen bağlamı ifade eder.







C++'da Farklı Durumlarda :: Kullanımı

C++'da, kapsam çözümleme operatörü (::) kullanıldığı bağlama göre çeşitli kullanımları vardır. Aşağıdakiler, bu operatörün bazı dikkate değer kullanımlarıdır:



1: Farklı Bir Ad Alanındaki Bir Değişkene veya İşleve Erişin

A ad alanı adlandırma çakışmalarını önlemek için ilgili işlevleri, sınıfları ve değişkenleri gruplandırmak için C++'da kullanılır. Bir değişken veya işlev tanımladığınızda, ad alanı , değişkenin veya işlevin adı yalnızca bunun içinde görünür ad alanı .



C++'da şunları kullanabilirsiniz: kapsam çözümleme operatörü (::) ile birlikte ad alanı farklı bir ad alanında tanımlanmış bir değişkene veya işleve erişmek için ad ve değişken veya işlev adı. Bu, değişkene veya işleve bir ad alanı yaratıldığı başka.





Yukarıdaki durumu anlamak için aşağıdaki kodu örnek olarak düşünün:

#include

ad alanı std'sini kullanma ;

ad alanı matematiği {

sabit çift PI = 3.14159 ;

çift kare ( çift X ) {

geri dönmek X * X ;

}

}

int ana ( ) {

cout << 'PI'nin değeri: ' << matematik :: PI << son ;

cout << '5'in karesi: ' << matematik :: kare ( 5 ) << son ;

geri dönmek 0 ;

}

Yukarıdaki kod kullanır matematik ad alanı erişmek için “PI” sabit ve 'kare' işlevini kullanarak kapsam çözümleme operatörü '::' . Daha sonra değerleri konsola yazdırır.



Çıktı

2: Programda Genel Değişkene Erişin

Programda aynı yerel ve global değişken adı bulunduğunda, yerel değişken global olanı gizleyebilir. Bu gibi durumlarda, kullanabilirsiniz kapsam çözümleme operatörü (::) global değişkene erişmek için. Bu işleç, kapsamına göre genel değişkene açıkça atıfta bulunmamızı sağlar.

Örneğin aşağıda verilen kodda global değişkene atıfta bulunduk. 'A aracılığıyla kapsam çözümleme operatörü(::) , aynı ada sahip yerel bir değişkenin tanımlandığı bir işlevin içinden:

#include

ad alanı std'sini kullanma ;

int A = on beş ;

int ana ( )

{

int A = 35 ;

cout << 'Global değişken a'nın Değeri' << :: A << son ;

cout << 'A yerel değişkeninin değeri' << A << son ;

geri dönmek 0 ;

}

Yukarıdaki kodda, ana işlevin dışında bulunan a değişkeni, küresel değişken ve ana işlev içindeki a değişkeni yerel değişken global değişkenle aynı ada sahip. cout ifadesinde, global değişkeni yazdırmak için kapsam çözümleme operatörünü kullandık. A .

Çıktı

3: Sınıfın Dışında Bir İşlev Tanımlayın

C++'da, sınıf tanımının dışında bir sınıf işlevi tanımlayabilirsiniz ve bu, kapsam çözümleme operatörü (::) işlevin hangi sınıfa ait olduğunu belirtmek için. İşlev, sınıf kapsamı dışında tanımlandığı için bu gereklidir.

İşte bu kullanımını gösteren bir örnek kod kapsam çözümleme operatörü :

#include

ad alanı std'sini kullanma ;



sınıf benimSınıfım {

halk :

geçersiz işlevim ( ) ;

} ;

geçersiz sınıfım :: işlevim ( ) {

cout << 'fonksiyonum() Arandı!' ;

}

int ana ( )

{

sınıfım sınıfObj ;

sınıfObj. işlevim ( ) ;

geri dönmek 0 ;

}

Yukarıdaki kodda, üye işlevi işlevim() kullanılarak sınıfın dışında tanımlanır. kapsam çözümleme operatörü :: bunu belirtmek için işlevim() myClass sınıfına aittir.

Çıktı

4: Sınıfın Statik Üyelerine Erişim

C++'da, sınıf içinde statik bir üye ve aynı ada sahip yerel bir değişken olduğunda, kapsam çözümleme operatörü (::) Bir sınıfın statik üyelerine erişmek için kullanılabilir. Bu, programın yerel değişken ile statik üye arasında ayrım yapmasına olanak tanır.

İşte kullanımıyla ilgili bir örnek kod kapsam çözümleme operatörü böyle bir durum için:

#include

ad alanı std'sini kullanma ;

sınıf benimSınıfım {

halk :

statik int myStatVar ;

} ;

int sınıfım :: myStatVar = 5 ;

int ana ( ) {

int myStatVar = 10 ;

cout << 'yerel değişken myStatVar: ' << myStatVar << son ;

cout << 'Sınıf değişkeni myStatVar: ' << sınıfım :: myStatVar << son ;

geri dönmek 0 ;

}

Yukarıdaki program önce bir sınıf tanımlar. sınıfım statik bir üye değişkeni ile myStatVar . Ardından, programın ana işlevi içinde aynı ada sahip yerel bir değişken tanımlar. Sınıf değişkenine erişmek için, kapsam çözümleme operatörü (::) sınıf adıyla birlikte kullanılır sınıfım . Program her iki değişkenin değerini konsola verir.

Çıktı

5: Çoklu Kalıtımla Kullanın

bu kapsam çözümleme operatörü (::) aynı ada sahip üye değişkenleri veya işlevleri olan birden çok üst sınıftan bir C++ sınıfı türetildiğinde, bir üyenin hangi sürümünün kullanılacağını belirtmek için de kullanılır. Kullanarak aynı üyenin çeşitli versiyonlarını ayırt edebiliriz. kapsam çözümleme operatörü ardından üst sınıf adı ve üyenin adı gelir.

#include

ad alanı std'sini kullanma ;

sınıf Veli1 {

halk :

geçersiz Yazdır ( ) {

cout << 'Bu sınıf Parent1 yazdırma işlevidir.' << son ;

}

} ;

sınıf Ebeveyn2 {
halk :
geçersiz Yazdır ( ) {
cout << 'Bu sınıf Parent2 yazdırma işlevidir.' << son ;
}
} ;
sınıf benimSınıfım : genel Veli1 , genel Ebeveyn2 {
özel :
int birde ;

halk :
sınıfım ( int N ) {
birde = N ;
}
geçersiz Yazdır ( ) {
Ebeveyn1 :: Yazdır ( ) ; // Ebeveyn1'in yazdırma işlevini çağırın
Ebeveyn2 :: Yazdır ( ) ; // Parent2'nin yazdırma işlevini çağırın
cout << 'num'un değeri: ' << birde << son ; // num değerini yazdır
}
} ;
int ana ( ) {
sınıfım nesnesi ( 42 ) ; // num değeri 42 olarak ayarlanmış bir Sınıfım nesnesi yarat
nesne Yazdır ( ) ; // nesnenin print() işlevini çağırın
geri dönmek 0 ;
}

Yukarıdaki program, kapsam çözümleme operatörü (::) yazdırma işlevleri arasında ayrım yapmak için Ebeveyn1 Ve Ebeveyn2 her iki sınıf tarafından miras alındığında sınıfım. ile işlevleri çağırarak Ebeveyn sınıfı işlev adından önce gelen ad, işlevin hangi sürümünün kullanılacağını belirtebiliriz.

Çıktı

Sonuç olarak

bu kapsam çözümleme operatörü (::) C++'da farklı kapsam düzeylerinde değişken adlarına erişmek için kullanılan hayati bir bileşendir. Operatörün, farklı bir ad alanındaki bir değişkene veya işleve erişme, genel bir değişkene erişme, sınıf dışında bir işlev tanımlama, bir sınıfın statik üyelerine erişme ve birden çok kalıtım kullanma dahil olmak üzere çeşitli kullanımları vardır. Yeni geliştiriciler için kafa karıştırıcı olabilse de, kapsam çözümleme operatörü (::) iyi programlama pratiği için gereklidir.