Toán tử phạm vi (Scope Resolution Operator) dùng để truy cập thành viên tĩnh hoặc của lớp, trong khi con trỏ this dùng để truy cập thành viên của đối tượng khi có biến cục bộ trùng tên.
Toán tử phạm vi
Ví dụ
#include<iostream>
using namespace std;
class AB {
static int x;
public:
// Tham số cục bộ 'x' che thành viên lớp
// 'x', nhưng ta có thể truy cập bằng ::.
void print(int x) {
cout << "the number is: " << AB::x;
}
};
// thành viên tĩnh phải định nghĩa tường minh như sau trong C++
int AB::x = 7;
int main() {
AB ob;
int m = 6;
ob.print(m);
return 0;
}
Kết quả
the number is: 7
Con trỏ this
Ví dụ
#include<iostream>
using namespace std;
class AB {
int x;
public:
AB() {
x = 6;
}
// Tham số cục bộ 'x' che thành viên đối tượng
// 'x', ta truy cập bằng this.
void print(int x) {
cout << "the number is: " << this->x;
}
};
int main() {
AB ob;
int m = 7;
ob.print(m);
return 0;
}
Kết quả
the number is: 6