Các lớp và đối tượng C ++

Mục đích chính của lập trình C ++ là thêm hướng đối tượng vào ngôn ngữ lập trình C và các lớp là tính năng trung tâm của C ++ hỗ trợ lập trình hướng đối tượng và thường được gọi là kiểu do người dùng định nghĩa.

Một lớp được sử dụng để chỉ định dạng của một đối tượng và nó kết hợp biểu diễn dữ liệu và các phương thức để thao tác dữ liệu đó thành một gói gọn gàng. Dữ liệu và các hàm trong một lớp được gọi là thành viên của lớp.

Định nghĩa lớp C ++

Khi bạn xác định một lớp, bạn xác định một bản thiết kế cho một kiểu dữ liệu. Điều này không thực sự xác định bất kỳ dữ liệu nào, nhưng nó xác định ý nghĩa của tên lớp, nghĩa là, một đối tượng của lớp sẽ bao gồm những gì và những hoạt động nào có thể được thực hiện trên một đối tượng như vậy.

Định nghĩa lớp bắt đầu bằng từ khóa classtiếp theo là tên lớp; và phần thân của lớp, được bao bởi một cặp dấu ngoặc nhọn. Định nghĩa lớp phải được theo sau bởi dấu chấm phẩy hoặc danh sách các khai báo. Ví dụ: chúng tôi đã xác định kiểu dữ liệu Hộp bằng từ khóaclass như sau -

class Box {
   public:
      double length;   // Length of a box
      double breadth;  // Breadth of a box
      double height;   // Height of a box
};

Từ khóa publicxác định các thuộc tính truy cập của các thành viên của lớp theo sau nó. Một thành viên công cộng có thể được truy cập từ bên ngoài lớp ở bất kỳ đâu trong phạm vi của đối tượng lớp. Bạn cũng có thể chỉ định các thành viên của một lớp làprivate hoặc là protected mà chúng ta sẽ thảo luận trong một phần phụ.

Xác định các đối tượng C ++

Một lớp cung cấp bản thiết kế cho các đối tượng, vì vậy về cơ bản một đối tượng được tạo ra từ một lớp. Chúng ta khai báo các đối tượng của một lớp với cùng kiểu khai báo mà chúng ta khai báo các biến kiểu cơ bản. Các câu lệnh sau khai báo hai đối tượng của lớp Box:

Box Box1;          // Declare Box1 of type Box
Box Box2;          // Declare Box2 of type Box

Cả hai đối tượng Box1 và Box2 sẽ có bản sao dữ liệu của riêng chúng.

Truy cập các thành viên dữ liệu

Các thành viên dữ liệu công khai của các đối tượng của một lớp có thể được truy cập bằng toán tử truy cập thành viên trực tiếp (.). Chúng ta hãy thử ví dụ sau để làm rõ mọi thứ -

#include <iostream>

using namespace std;

class Box {
   public:
      double length;   // Length of a box
      double breadth;  // Breadth of a box
      double height;   // Height of a box
};

int main() {
   Box Box1;        // Declare Box1 of type Box
   Box Box2;        // Declare Box2 of type Box
   double volume = 0.0;     // Store the volume of a box here
 
   // box 1 specification
   Box1.height = 5.0; 
   Box1.length = 6.0; 
   Box1.breadth = 7.0;

   // box 2 specification
   Box2.height = 10.0;
   Box2.length = 12.0;
   Box2.breadth = 13.0;
   
   // volume of box 1
   volume = Box1.height * Box1.length * Box1.breadth;
   cout << "Volume of Box1 : " << volume <<endl;

   // volume of box 2
   volume = Box2.height * Box2.length * Box2.breadth;
   cout << "Volume of Box2 : " << volume <<endl;
   return 0;
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

Volume of Box1 : 210
Volume of Box2 : 1560

Điều quan trọng cần lưu ý là các thành viên riêng tư và được bảo vệ không thể được truy cập trực tiếp bằng toán tử truy cập thành viên trực tiếp (.). Chúng tôi sẽ tìm hiểu cách các thành viên được bảo vệ và riêng tư có thể được truy cập.

Chi tiết các lớp và đối tượng

Cho đến nay, bạn đã có những ý tưởng cơ bản về Lớp và Đối tượng C ++. Có những khái niệm thú vị khác liên quan đến Lớp và Đối tượng C ++ mà chúng ta sẽ thảo luận trong các phần phụ khác nhau được liệt kê bên dưới:

Sr.No Khái niệm & Mô tả
1 Chức năng của thành viên trong lớp

Hàm thành viên của một lớp là một hàm có định nghĩa hoặc nguyên mẫu của nó trong định nghĩa lớp giống như bất kỳ biến nào khác.

2 Công cụ sửa đổi quyền truy cập lớp học

Một thành viên trong lớp có thể được định nghĩa là công khai, riêng tư hoặc được bảo vệ. Theo mặc định, các thành viên sẽ được coi là riêng tư.

3 Khối tạo & Bộ hủy

Hàm tạo lớp là một hàm đặc biệt trong lớp được gọi khi một đối tượng mới của lớp được tạo. Hàm hủy cũng là một hàm đặc biệt được gọi khi đối tượng đã tạo bị xóa.

4 Copy Constructor

Phương thức khởi tạo sao chép là một phương thức khởi tạo tạo một đối tượng bằng cách khởi tạo nó với một đối tượng cùng lớp, đã được tạo trước đó.

5 Chức năng bạn bè

A friend chức năng được phép truy cập đầy đủ vào các thành viên riêng tư và được bảo vệ của một lớp.

6 Chức năng nội tuyến

Với một hàm nội tuyến, trình biên dịch cố gắng mở rộng mã trong phần thân của hàm thay cho lời gọi hàm.

7 Con trỏ này

Mọi đối tượng đều có một con trỏ đặc biệt this mà trỏ đến chính đối tượng.

số 8 Con trỏ đến các lớp C ++

Một con trỏ đến một lớp được thực hiện giống hệt như cách con trỏ tới một cấu trúc. Trong thực tế, một lớp thực sự chỉ là một cấu trúc với các chức năng trong đó.

9 Thành viên tĩnh của một lớp

Cả thành viên dữ liệu và thành viên hàm của một lớp đều có thể được khai báo là tĩnh.