Apa Kegunaan :: Apakah di C++?

Apa Kegunaan Apakah Di C



C ++ adalah bahasa pemrograman serbaguna yang menawarkan berbagai fungsionalitas kepada pengembang. Salah satu fitur yang paling umum digunakan dalam C++ adalah operator resolusi ruang lingkup , juga dikenal sebagai titik dua ganda (::) . Meskipun menjadi bagian penting dari bahasa, titik dua ganda operator dapat membingungkan bagi banyak pengembang, terutama mereka yang baru mengenalnya.

Dalam panduan ini, kita akan melihat titik dua ganda (::) operator di C++ dan cara kerjanya dalam skenario yang berbeda.

Apa Kegunaan :: Apakah di C++?

Di C++, file resolusi ruang lingkup operator (::) digunakan untuk mengambil nama variabel yang ada di berbagai tingkat cakupan. Ruang lingkup dalam pemrograman mengacu pada konteks di mana variabel dan fungsi dapat diakses.







Penggunaan :: dalam Berbagai Kasus di C++

Di C++, file operator resolusi ruang lingkup (::) memiliki berbagai kegunaan tergantung pada konteks di mana ia digunakan. Berikut ini adalah beberapa kegunaan penting dari operator ini:



1: Akses Variabel atau Fungsi di Ruang Nama yang Berbeda

A ruang nama digunakan dalam C++ untuk mengelompokkan fungsi, kelas, dan variabel terkait untuk menghindari konflik penamaan. Saat Anda mendefinisikan variabel atau fungsi dalam a ruang nama , nama variabel atau fungsi hanya terlihat di dalamnya ruang nama .



Di C++, Anda dapat menggunakan operator resolusi ruang lingkup (::) Bersama dengan ruang nama name dan nama variabel atau fungsi untuk mengakses variabel atau fungsi yang didefinisikan dalam namespace yang berbeda. Ini memungkinkan Anda untuk mengakses variabel atau fungsi dari a ruang nama selain yang diciptakannya.





Untuk memahami kasus di atas, perhatikan kode berikut sebagai contoh:

#termasuk

menggunakan namespace std ;

matematika namespace {

const dobel PI = 3.14159 ;

dobel persegi ( dobel X ) {

kembali X * X ;

}

}

int utama ( ) {

cout << 'Nilai PI adalah:' << matematika :: PI << endl ;

cout << 'Kuadrat dari 5 adalah:' << matematika :: persegi ( 5 ) << endl ;

kembali 0 ;

}

Kode di atas menggunakan namespace matematika untuk mengakses “PI” konstan dan 'persegi' fungsi menggunakan operator resolusi lingkup “::” . Kemudian mencetak nilai ke konsol.



Keluaran

2: Akses Variabel Global dalam Program

Ketika nama yang sama dari variabel lokal dan global hadir dalam program, variabel lokal dapat menyembunyikan variabel global. Dalam situasi seperti itu, Anda dapat menggunakan operator resolusi ruang lingkup (::) untuk mengakses variabel global. Operator ini memungkinkan kita untuk merujuk secara eksplisit ke variabel global berdasarkan ruang lingkupnya.

Misalnya, dalam kode yang diberikan di bawah ini, kami merujuk ke variabel global 'A ' Melalui operator resolusi ruang lingkup (::) , dari dalam fungsi tempat variabel lokal dengan nama yang sama telah ditentukan:

#termasuk

menggunakan namespace std ;

int A = limabelas ;

int utama ( )

{

int A = 35 ;

cout << 'Nilai variabel global a adalah' << :: A << endl ;

cout << 'Nilai variabel lokal a adalah' << A << endl ;

kembali 0 ;

}

Pada kode di atas, variabel a yang ada di luar fungsi utama adalah the variabel global dan variabel a di dalam fungsi utama adalah the variabel lokal dengan nama yang sama dengan variabel global. Dalam pernyataan cout, kami telah menggunakan operator resolusi lingkup untuk mencetak variabel global A .

Keluaran

3: Tentukan Fungsi Di Luar Kelas

Di C++, Anda bisa mendefinisikan fungsi kelas di luar definisi kelas dan itu bisa dilakukan dengan menggunakan operator resolusi ruang lingkup (::) untuk menentukan kelas yang dimiliki fungsi tersebut. Ini diperlukan karena fungsi didefinisikan di luar lingkup kelas.

Berikut adalah contoh kode yang menunjukkan penggunaan ini operator resolusi ruang lingkup :

#termasuk

menggunakan namespace std ;



kelas myClass {

publik :

ruang kosong myfunction ( ) ;

} ;

ruang kosong kelasku :: myfunction ( ) {

cout << 'myfunction() Dipanggil!' ;

}

int utama ( )

{

myClass classObj ;

classObj. myfunction ( ) ;

kembali 0 ;

}

Pada kode di atas, fungsi anggota fungsiku() didefinisikan di luar kelas menggunakan operator resolusi ruang lingkup :: untuk menentukan itu fungsiku() milik kelas myClass.

Keluaran

4: Akses Anggota Statis Kelas

Di C++, ketika ada anggota statis dan variabel lokal dengan nama yang sama ada di dalam kelas, itu operator resolusi ruang lingkup (::) dapat digunakan untuk mengakses anggota statis dari suatu kelas. Hal ini memungkinkan program untuk membedakan antara variabel lokal dan anggota statis.

Berikut adalah contoh kode yang menghubungkan penggunaan operator resolusi ruang lingkup untuk kasus seperti itu:

#termasuk

menggunakan namespace std ;

kelas myClass {

publik :

statis int myStatVar ;

} ;

int kelasku :: myStatVar = 5 ;

int utama ( ) {

int myStatVar = 10 ;

cout << 'Variabel lokal myStatVar:' << myStatVar << endl ;

cout << 'Variabel kelas myStatVar:' << kelasku :: myStatVar << endl ;

kembali 0 ;

}

Program di atas pertama-tama mendefinisikan kelas kelasku dengan variabel anggota statis myStatVar . Itu kemudian mendefinisikan variabel lokal dengan nama yang sama di dalam fungsi utama program. Untuk mengakses variabel kelas, the operator resolusi ruang lingkup (::) digunakan dengan nama kelas kelasku . Program menampilkan nilai kedua variabel ke konsol.

Keluaran

5: Gunakan dengan Banyak Warisan

Itu operator resolusi ruang lingkup (::) juga digunakan untuk menunjukkan versi anggota mana yang akan digunakan ketika kelas C++ diturunkan dari beberapa kelas induk yang memiliki variabel atau fungsi anggota dengan nama yang sama. Kita dapat membedakan berbagai versi dari anggota yang sama dengan menggunakan operator resolusi ruang lingkup diikuti dengan nama kelas induk dan nama anggota.

#termasuk

menggunakan namespace std ;

Kelas Induk1 {

publik :

ruang kosong mencetak ( ) {

cout << 'Ini adalah fungsi cetak kelas Parent1.' << endl ;

}

} ;

Kelas Induk2 {
publik :
ruang kosong mencetak ( ) {
cout << 'Ini adalah fungsi cetak kelas Parent2.' << endl ;
}
} ;
kelas myClass : Induk publik1 , Induk publik2 {
pribadi :
int pada satu ;

publik :
kelasku ( int N ) {
pada satu = N ;
}
ruang kosong mencetak ( ) {
Induk1 :: mencetak ( ) ; // panggil fungsi cetak Parent1
Induk2 :: mencetak ( ) ; // panggil fungsi cetak Parent2
cout << 'Nilai num adalah:' << pada satu << endl ; // mencetak nilai num
}
} ;
int utama ( ) {
myClass obj ( 42 ) ; // buat objek MyClass dengan num diinisialisasi ke 42
keberatan mencetak ( ) ; // panggil fungsi print() dari objek
kembali 0 ;
}

Program di atas mendemonstrasikan penggunaan operator resolusi ruang lingkup (::) untuk membedakan antara fungsi cetak dari Induk1 Dan Induk2 ketika kedua kelas diwarisi oleh kelasku. Dengan memanggil fungsi dengan Kelas orang tua name sebelum nama fungsi, kita dapat menentukan versi fungsi mana yang akan digunakan.

Keluaran

Intinya

Itu operator resolusi ruang lingkup (::) adalah komponen penting dalam C++ yang digunakan untuk mengakses nama variabel di berbagai tingkat cakupan. Operator memiliki berbagai kegunaan, termasuk mengakses variabel atau fungsi di ruang nama yang berbeda, mengakses variabel global, mendefinisikan fungsi di luar kelas, mengakses anggota statis kelas, dan menggunakan banyak pewarisan. Meskipun dapat membingungkan bagi pengembang baru, memahami operator resolusi ruang lingkup (::) sangat penting untuk praktik pemrograman yang baik.