30/09/2018, 16:10

Toán tử :: trong C++ dùng để làm gì

Hôm nay có 1 bạn trên FB hỏi :: để làm gì. Đạt thấy đây là câu hỏi hay, các bạn tìm hiểu thử nhé

Nguyễn Tuấn Tiến viết 18:23 ngày 30/09/2018

Dùng để biết được phương thức đó, thành viên đó thuộc lớp nào.
Ví dụ:
Nội dung:

class PhanSo
{
public:
       void Nhap();
       void Xuat();
};

void PhanSo::Nhap()
{
///////////
}
void PhanSo::Xuat()
{
///////
}

Trong ví dụ này thì hàm nhập xuất thuộc lớp phân số, khi ta làm việc với nhiều class sẽ phải sử dụng toán tử :: nhiều hơn. Em chỉ hiểu được như thế thôi anh, không biết đúng phần nào không nữa

Nguyễn Minh Dũng viết 18:18 ngày 30/09/2018

Vậy trường hợp này thì sao?

int x;
int main()
{
    int x = 2;
    ::x = 3;
}
Nguyễn Tuấn Tiến viết 18:15 ngày 30/09/2018

x bên trong main nhận giá trị bằng 2, x ngoài main nhận giá trị bằng 3 phải không anh
Đạt?

Nguyễn Minh Dũng viết 18:27 ngày 30/09/2018

Đúng rồi, Đó là công dụng của toán tử ::

Bên cạnh đó nó còn có 2 tác dụng nữa. Anh Tổng kết như thế này

  • TH1: Nếu gọi từ một đối tượng thì
    :: dùng để gọi phương thức, thành viên lớp cha của lớp hiện tại.

  • TH2: Nếu gọi từ namespace, enum thì
    :: dùng để gọi thành viên của namespace, enum đó

  • TH3: Nếu phía trước :: không có gì, tức không phải TH1, TH2
    :: dùng để gọi biến nằm ở ngoài scope
    Ví dụ:

int x;
int main()
{
    int x = 2;
    ::x = 3; // gọi x ở ngoài
}
Thực tế khắc nghiệt viết 18:19 ngày 30/09/2018

sau khi hiểu 1 chút thì thấy a đạt càng ngày càng cáo! đúng là thầy có khác

Bài liên quan
0