Phần này sẽ thảo luận về toán tử phân giải phạm vi và các ứng dụng khác nhau của nó trong ngôn ngữ lập trình C++. Toán tử phân giải phạm vi được sử dụng để tham chiếu biến toàn cục hoặc hàm thành viên nằm ngoài phạm vi. Do đó, chúng tôi sử dụng toán tử phân giải phạm vi để truy cập biến hoặc hàm ẩn của chương trình. Toán tử được biểu diễn dưới dạng ký hiệu dấu hai chấm (::).
Ví dụ, khi biến toàn cục và biến cục bộ hoặc hàm có cùng tên trong một chương trình và khi chúng ta gọi biến đó thì mặc định nó chỉ truy cập biến bên trong hoặc biến cục bộ mà không gọi biến toàn cục. Bằng cách này, nó ẩn biến toàn cục hoặc hàm. Để khắc phục tình trạng này, chúng tôi sử dụng toán tử phân giải phạm vi để tìm nạp biến hoặc hàm ẩn của chương trình.
Công dụng của toán tử phân giải phạm vi
- Nó được sử dụng để truy cập các biến ẩn hoặc hàm thành viên của chương trình.
- Nó định nghĩa hàm thành viên bên ngoài lớp bằng cách sử dụng độ phân giải phạm vi.
- Nó được sử dụng để truy cập biến tĩnh và hàm tĩnh của một lớp.
- Toán tử phân giải phạm vi được sử dụng để ghi đè hàm trong Kế thừa.
Chương trình truy cập giá trị ẩn bằng toán tử độ phân giải phạm vi (::)
Chương trình1.cpp
- #include <iostream>
- sử dụng không gian tên std;
- // khai báo biến toàn cục
- số int = 50;
- int chính ()
- {
- // khai báo biến cục bộ
- số int = 100;
- //in ra giá trị của các biến
- cout << ” Giá trị của biến cục bộ num: ” << num;
- // sử dụng toán tử phân giải phạm vi (::) để truy cập biến toàn cục
- cout << “\n Giá trị của biến toàn cục num: ” << ::num;
- trả về 0;
- }
đầu ra
Giá trị của biến cục bộ num: 100 Giá trị của biến toàn cục num: 50
Chương trình định nghĩa hàm thành viên bên ngoài lớp sử dụng toán tử phân giải phạm vi (::)
Chương trình2.cpp
- #include <iostream>
- sử dụng không gian tên std;
- lớp vận hành
- {
- công khai :
- // khai báo hàm thành viên
- vô hiệu niềm vui();
- };
- // định nghĩa hàm thành viên bên ngoài lớp.
- void Hoạt động::fun() /* return_type Tên_lớp::tên_hàm */
- {
- cout << ” Nó là hàm thành viên của lớp.” ;
- }
- int chính ()
- {
- // tạo một đối tượng của lớp Operate
- vận hành;
- op.fun();
- trả về 0;
- }
đầu ra
Nó là hàm thành viên của lớp.
Chương trình minh họa không gian tên chuẩn sử dụng toán tử phân giải phạm vi (::)
Chương trình3.cpp
- #include <iostream>
- int chính ()
- {
- số int = 0;
- // sử dụng toán tử phân giải phạm vi với không gian tên std
- std :: cout << ” Nhập giá trị của num: ” ;
- std::cin >> số;
- std:: cout << ” Giá trị của num là: ” << num;
- }
đầu ra
Nhập giá trị của số: 50 Giá trị của số là: 50
Chương trình truy cập biến tĩnh bằng toán tử độ phân giải phạm vi (::)
Chương trình4.cpp
- #include <iostream>
- sử dụng không gian tên std;
- lớp phụ huynh
- {
- tĩnh int n1;
- công khai :
- tĩnh int n2;
- // Thành viên lớp có thể được truy cập bằng cách sử dụng toán tử phân giải phạm vi.
- khoảng trống fun1 ( int n1)
- {
- // n1 được truy cập bởi toán tử phân giải phạm vi (:: )
- cout << ” Giá trị của số nguyên tĩnh n1: ” << Parent::n1;
- cout << ” \n Giá trị của biến cục bộ n1: ” << n1;
- }
- };
- // xác định rõ ràng một thành viên tĩnh sử dụng toán tử ::
- int Phụ huynh::n1 = 5; // khai báo giá trị của biến n1
- int Phụ huynh::n2 = 10;
- int chính ()
- {
- Phụ huynh b;
- int n1 = 15;
- b.fun1(n1);
- cout << ” \n Gia tri cua Base::n2 = ” << Parent::n2;
- trả về 0;
- }
đầu ra
Giá trị của số nguyên tĩnh n1: 5 Giá trị của biến cục bộ n1: 15 Giá trị của Cơ sở::n2 = 10
Chương trình truy cập hàm thành viên tĩnh bằng cách sử dụng toán tử phân giải phạm vi (::)
Chương trình5.cpp
- #include <iostream>
- sử dụng không gian tên std;
- lớp ABC
- {
- công khai :
- // khai báo hàm thành viên tĩnh
- int tĩnh vui vẻ()
- {
- cout << ” \n Sử dụng toán tử phân giải phạm vi để truy cập thành viên tĩnh.” ;
- }
- };
- int chính ()
- {
- // tên_lớp :: tên hàm
- ABC :: vui vẻ ();
- trả về 0;
- }
đầu ra
Sử dụng toán tử phân giải phạm vi để truy cập thành viên tĩnh.
Chương trình ghi đè hàm thành viên bằng toán tử phân giải phạm vi (::)
Chương trình5.cpp
- #include <iostream>
- sử dụng không gian tên std;
- lớp ABC
- {
- // khai báo mã xác định quyền truy cập
- công khai :
- kiểm tra khoảng trống ()
- {
- cout << ” \n Đây là hàm test() của lớp ABC.” ;
- }
- };
- // dẫn xuất chức năng hoặc chức năng thành viên của lớp cơ sở
- lớp con: công ABC
- {
- công khai :
- kiểm tra khoảng trống ()
- {
- ABC::test();
- cout << ” \n Đây là hàm test() của lớp con.” ;
- }
- };
- int chính ()
- {
- // tạo đối tượng của lớp dẫn xuất
- con ch;
- ch.test();
- trả về 0;
- }
đầu ra
Nó là hàm test() của lớp ABC. Nó là hàm test() của lớp con.