Bagaimana Cara Terbaik Memanfaatkan Operator Resolusi Lingkup Dalam C ++?



Artikel ini akan memperkenalkan Anda kepada operator resolusi cakupan di C ++ dan menindaklanjutinya dengan demonstrasi terprogram untuk pemahaman terperinci.

Seperti namanya, operator resolusi Cakupan digunakan untuk mendapatkan nama yang tersembunyi karena cakupan variabel sehingga Anda masih dapat menggunakannya. Pada artikel ini kita akan memahami bagaimana menggunakan operator resolusi lingkup di C ++ & apa tujuan berbeda dari a .

Di C ++, operator resolusi cakupan adalah ::. Operator resolusi cakupan di C ++ dapat digunakan untuk:





Sekarang mari kita pahami masing-masing tujuan satu per satu dengan bantuan contoh.

Mengakses variabel global saat ada variabel lokal dengan nama yang sama

Anda dapat menggunakan operator resolusi cakupan untuk mengakses variabel global jika Anda memiliki variabel lokal dengan nama yang sama. Dalam contoh di bawah ini kami memiliki dua variabel kedua nama num dengan cakupan global & lokal. Jadi, untuk mengakses variabel num global di kelas utama, Anda perlu menggunakan operator resolusi cakupan (yaitu :: num).



Contoh

#include using namespace std int num = 30 // Inisialisasi variabel global num int main () {int num = 10 // Inisialisasi variabel lokal num cout<< 'Value of global num is ' << ::num cout << 'nValue of local num is ' << num return 0 } 

Keluaran

Pindah dengan artikel ini tentang Operator Resolusi Lingkup Di C ++



Mendefinisikan Fungsi di Luar Kelas

Jika Anda mendeklarasikan sebuah fungsi dalam sebuah kelas dan kemudian ingin mendefinisikannya di luar kelas, Anda dapat melakukannya dengan menggunakan operator resolusi cakupan. Dalam contoh di bawah ini, kami mendeklarasikan fungsi Speed ​​di Class Bike. Nanti kita mendefinisikan fungsi di kelas utama menggunakan operator resolusi lingkup.

Contoh

#include using namespace std class Bike {public: // Just the Function Declaration void Speed ​​()} // Mendefinisikan fungsi Kecepatan di luar kelas Sepeda menggunakan :: void Bike :: Speed ​​() {cout<< 'Speed of Bike is 90 KMPH' } int main() { Bike bike bike.Speed() return 0 } 

Keluaran

Pindah dengan artikel ini tentang Operator Resolusi Lingkup Di C ++

Mengakses statis kelas variabel

Anda dapat mengakses variabel statis kelas menggunakan nama kelas & operator resolusi cakupan (yaitu class_name :: static_variable). Anda dapat melihat pada contoh di bawah ini, kami mendeklarasikan variabel statis di kelas. Kami mendefinisikan variabel di luar kelas menggunakan operator resolusi lingkup. Kemudian kami mengaksesnya menggunakan nama kelas & operator resolusi cakupan.

Contoh

#include using namespace std class Coba {static int num1 public: static int num2 // Parameter lokal menyembunyikan anggota kelas // Anggota kelas dapat diakses menggunakan :: void function (int num1) {// num1 variabel statis dapat diakses menggunakan :: // terlepas dari variabel lokal num1 cout<< 'Static num1: ' << Try::num1 cout << 'nLocal num1: ' << num1 } } // Defining a static members explicitly using :: int Try::num1 = 10 int Try::num2 = 15 int main() { Try o int num1 = 20 o.function(num1) cout << 'nTry::num2 = ' << Try::num2 return 0 } 

Keluaran

Pindah dengan artikel ini tentang Operator Resolusi Lingkup Di C ++

Mengacu pada kelas di dalam kelas lain

Anda dapat membuat kelas bertingkat dengan nama variabel yang sama di kedua kelas. Anda dapat mengakses kedua variabel menggunakan operator resolusi cakupan. Untuk variabel kelas dalam, Anda perlu menggunakan Outer_Class :: Inner_Class :: variabel.

ide java terbaik untuk ubuntu

Contoh

#include menggunakan namespace std class Outside_class {public: int num class Inside_class {public: int num static int x}} int Outside_class :: Inside_class :: x = 5 int main () {Outside_class A Outside_class :: Inside_class B}

Pindah dengan artikel ini tentang Operator Resolusi Lingkup Di C ++

Dalam kasus beberapa Warisan

Jika Anda memiliki dua kelas induk dengan nama variabel yang sama dan Anda mewarisi keduanya di kelas anak, maka Anda dapat menggunakan operator resolusi cakupan dengan nama kelas untuk mengakses variabel individu.

Dalam contoh di bawah ini, kami membuat dua kelas induk Parent1 & Parent2, dan keduanya memiliki variabel num. Saat kita mewarisi keduanya di kelas Child, kita dapat mengakses kedua variabel num menggunakan nama kelas & operator resolusi cakupan.

Contoh

#include using namespace std class Parent1 {protected: int num public: Parent1 () {num = 100}} class Parent2 {protected: int num public: Parent2 () {num = 200}} class Child: public Parent1, public Parent2 { publik: fungsi void () {cout<< 'Parent1's num is ' << Parent1::num cout << 'nParent2's num is ' << Parent2::num } } int main() { Child obj obj.function() return 0 } 

Keluaran

Pindah dengan artikel ini tentang Operator Resolusi Lingkup Di C ++

Namespace

Misalkan kita memiliki dua ruang nama & keduanya berisi kelas dengan nama yang sama. Jadi untuk menghindari konflik kita bisa menggunakan nama namespace dengan operator resolusi lingkup. Dalam contoh di bawah ini yang kami gunakan std :: cout .

Contoh

#include int main () {std :: cout<< 'Hello' << std::endl } 

Keluaran

Sekarang setelah melalui program di atas Anda akan memahami segala sesuatu tentang operator resolusi lingkup di C ++. Semoga blog ini informatif dan menjadi nilai tambah bagi Anda.

Sekarang setelah menjalankan program di atas Anda akan memahami Scope Resolution Operator di C ++. Jadi kami telah mengakhiri artikel ini tentang 'Quicksort in Java'. Jika Anda ingin mempelajari lebih lanjut, lihat Pelatihan Java oleh Edureka, perusahaan pembelajaran online tepercaya. Kursus pelatihan dan sertifikasi Java J2EE dan SOA Edureka dirancang untuk melatih Anda baik konsep inti dan lanjutan Java bersama dengan berbagai kerangka kerja Java seperti Hibernate & Spring.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar blog ini dan kami akan menghubungi Anda kembali secepatnya.