Hướng dẫn C ++

C ++ TRANG CHỦ Giới thiệu C ++ C ++ Bắt đầu Cú pháp C ++ Đầu ra C ++ Nhận xét C ++ Biến C ++ Đầu vào của người dùng C ++ Các kiểu dữ liệu C ++ Toán tử C ++ Chuỗi C ++ Toán C ++ C ++ Boolean Điều kiện C ++ Chuyển đổi C ++ Vòng lặp trong khi C ++ C ++ cho vòng lặp C ++ Ngắt / Tiếp tục Mảng C ++ Tài liệu tham khảo C ++ Con trỏ C ++

Các hàm trong C ++

Các hàm trong C ++ Tham số hàm trong C ++ Nạp chồng hàm trong C ++

Các lớp C ++

C ++ OOP Các lớp / đối tượng C ++ Phương thức lớp C ++ Trình tạo C ++ Bộ chỉ định quyền truy cập C ++ Đóng gói C ++ Kế thừa C ++ Tính đa hình của C ++ Tệp C ++ Ngoại lệ C ++

C ++ Làm thế nào để

Thêm hai số

Ví dụ về C ++

Ví dụ về C ++ Trình biên dịch C ++ Bài tập C ++ C ++ Quiz


Bộ chỉ định quyền truy cập C ++


Access Specifier

Bây giờ, bạn đã khá quen thuộc với publictừ khóa xuất hiện trong tất cả các ví dụ về lớp của chúng tôi:

Thí dụ

class MyClass {  // The class
  public:        // Access specifier
    // class members goes here
};

Từ publickhóa là một công cụ xác định quyền truy cập. Các chỉ định truy cập xác định cách các thành viên (thuộc tính và phương thức) của một lớp có thể được truy cập. Trong ví dụ trên, các thành viên public- có nghĩa là chúng có thể được truy cập và sửa đổi từ bên ngoài mã.

Tuy nhiên, nếu chúng ta muốn các thành viên ở chế độ riêng tư và ẩn với thế giới bên ngoài thì sao?

Trong C ++, có ba chỉ định truy cập:

  • public - các thành viên có thể truy cập từ bên ngoài lớp học
  • private - các thành viên không thể được truy cập (hoặc xem) từ bên ngoài lớp học
  • protected- các thành viên không thể được truy cập từ bên ngoài lớp, tuy nhiên, chúng có thể được truy cập trong các lớp kế thừa. Bạn sẽ tìm hiểu thêm về Thừa kế ở phần sau.

Trong ví dụ sau, chúng tôi chứng minh sự khác biệt giữa publicprivatecác thành viên:

Thí dụ

class MyClass {
  public:    // Public access specifier
    int x;   // Public attribute
  private:   // Private access specifier
    int y;   // Private attribute
};

int main() {
  MyClass myObj;
  myObj.x = 25;  // Allowed (public)
  myObj.y = 50;  // Not allowed (private)
  return 0;
}

Nếu bạn cố gắng truy cập vào một thành viên riêng tư, một lỗi sẽ xảy ra:

error: y is private

Lưu ý: Có thể truy cập các thành viên private của một lớp bằng cách sử dụng phương thức public bên trong cùng một lớp. Xem chương tiếp theo ( Đóng gói ) về cách thực hiện việc này.

Mẹo: Nên khai báo các thuộc tính lớp của bạn là riêng tư (thường xuyên nếu có thể). Điều này sẽ làm giảm khả năng chính bạn (hoặc người khác) làm sai mã. Đây cũng là thành phần chính của khái niệm Encapsulation mà bạn sẽ tìm hiểu thêm trong chương tiếp theo.

Lưu ý: Theo mặc định, tất cả các thành viên của một lớp privatenếu bạn không chỉ định mã xác định quyền truy cập:

Thí dụ

class MyClass {
  int x;   // Private attribute
  int y;   // Private attribute
};