Làm thế nào để sử dụng tốt nhất toán tử phân giải phạm vi trong C ++?



Bài viết này sẽ giới thiệu cho bạn toán tử phân giải phạm vi trong C ++ và theo dõi trình diễn lập trình để hiểu chi tiết.

Như tên cho thấy, toán tử phân giải phạm vi được sử dụng để lấy các tên ẩn do phạm vi thay đổi để bạn vẫn có thể sử dụng chúng. Trong bài viết này, chúng ta sẽ hiểu cách sử dụng toán tử phân giải phạm vi trong C ++ và các mục đích khác của nó so với .

Trong C ++, toán tử phân giải phạm vi là ::. Toán tử phân giải phạm vi trong C ++ có thể được sử dụng cho:





Bây giờ chúng ta hãy hiểu từng mục đích một với sự trợ giúp của các ví dụ.

Truy cập một biến toàn cục khi có một biến cục bộ với trùng tên

Bạn có thể sử dụng toán tử phân giải phạm vi để truy cập biến toàn cục nếu bạn có biến cục bộ có cùng tên. Trong ví dụ dưới đây, chúng ta có hai biến đều tên là num với phạm vi toàn cục và cục bộ. Vì vậy, để truy cập biến num toàn cục trong lớp chính, bạn cần sử dụng toán tử phân giải phạm vi (tức là :: num).



Thí dụ

#include using namespace std int num = 30 // Khởi tạo biến toàn cục num int main () {int num = 10 // Khởi tạo biến cục bộ num cout<< 'Value of global num is ' << ::num cout << 'nValue of local num is ' << num return 0 } 

Đầu ra

Tiếp tục với bài viết này về Toán tử độ phân giải phạm vi trong C ++



Xác định một chức năng bên ngoài một lớp

Nếu bạn đang khai báo một hàm trong một lớp và sau đó muốn định nghĩa nó bên ngoài lớp, bạn có thể làm điều đó bằng cách sử dụng toán tử phân giải phạm vi. Trong ví dụ dưới đây, chúng tôi đang khai báo một hàm Speed ​​trong Class Bike. Sau đó, chúng ta sẽ xác định hàm trong lớp chính bằng toán tử phân giải phạm vi.

Thí dụ

#include using namespace std class Bike {public: // Chỉ là Khai báo Hàm void Speed ​​()} // Định nghĩa hàm Speed ​​bên ngoài Bike class using :: void Bike :: Speed ​​() {cout<< 'Speed of Bike is 90 KMPH' } int main() { Bike bike bike.Speed() return 0 } 

Đầu ra

Tiếp tục với bài viết này về Toán tử độ phân giải phạm vi trong C ++

Truy cập tĩnh của một lớp biến

Bạn có thể truy cập vào biến tĩnh của lớp bằng cách sử dụng toán tử phân giải phạm vi và tên lớp (tức là class_name :: static_variable). Bạn có thể thấy trong ví dụ dưới đây, chúng ta đang khai báo một biến static trong lớp. Chúng tôi đang xác định biến bên ngoài lớp bằng cách sử dụng toán tử phân giải phạm vi. Sau đó, chúng tôi đang truy cập nó bằng cách sử dụng toán tử phân giải phạm vi và tên lớp.

Thí dụ

#include using namespace std class Thử {static int num1 public: static int num2 // Tham số cục bộ ẩn thành viên của lớp // Thành viên của lớp có thể được truy cập bằng :: void function (int num1) {// biến tĩnh num1 có thể được truy cập bằng :: // mặc dù biến cục bộ 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 } 

Đầu ra

Tiếp tục với bài viết này về Toán tử độ phân giải phạm vi trong C ++

Tham chiếu đến một lớp bên trong một lớp khác

Bạn có thể tạo lớp lồng nhau với các tên biến giống nhau trong cả hai lớp. Bạn có thể truy cập cả hai biến bằng toán tử phân giải phạm vi. Đối với biến lớp bên trong, bạn cần sử dụng Biến Outer_Class :: Inner_Class ::.

Thí dụ

#include using 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}

Tiếp tục với bài viết này về Toán tử độ phân giải phạm vi trong C ++

Trường hợp có nhiều tài sản thừa kế

Nếu bạn có hai lớp cha có cùng tên biến và bạn đang kế thừa cả hai trong lớp con, thì bạn có thể sử dụng toán tử phân giải phạm vi với tên lớp để truy cập các biến riêng lẻ.

Trong ví dụ dưới đây, chúng ta đang tạo hai lớp cha Parent1 & Parent2 và cả hai lớp này đều có biến num. Khi chúng ta kế thừa cả hai trong lớp Con, chúng ta có thể truy cập cả hai biến num bằng toán tử phân giải phạm vi và tên lớp.

Thí dụ

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

Đầu ra

sau đại học và thạc sĩ có giống nhau không

Tiếp tục với bài viết này về Toán tử độ phân giải phạm vi trong C ++

Không gian tên

Giả sử chúng ta có hai không gian tên và cả hai đều chứa lớp có cùng tên. Vì vậy, để tránh bất kỳ xung đột nào, chúng ta có thể sử dụng tên không gian tên với toán tử phân giải phạm vi. Trong ví dụ dưới đây, chúng tôi đang sử dụng std :: cout .

Thí dụ

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

Đầu ra

Bây giờ sau khi xem qua các chương trình trên, bạn sẽ hiểu mọi thứ về toán tử phân giải phạm vi trong C ++. Tôi hy vọng blog này là thông tin và giá trị gia tăng cho bạn.

Bây giờ sau khi thực hiện chương trình trên, bạn sẽ hiểu Toán tử phân giải phạm vi trong C ++. Vì vậy, chúng ta đã kết thúc bài viết này về 'Quicksort trong Java'. Nếu bạn muốn tìm hiểu thêm, hãy xem Đào tạo Java của Edureka, một công ty học trực tuyến đáng tin cậy. Khóa đào tạo và cấp chứng chỉ Java J2EE và SOA của Edureka được thiết kế để đào tạo bạn về cả khái niệm Java cốt lõi và nâng cao cùng với các khung công tác Java khác nhau như Hibernate & Spring.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của blog này và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.