Cách Khởi Tạo Một Lớp

Mục lục:

Cách Khởi Tạo Một Lớp
Cách Khởi Tạo Một Lớp

Video: Cách Khởi Tạo Một Lớp

Video: Cách Khởi Tạo Một Lớp
Video: Java 30. Cách xây dựng lớp và phương thức khởi tạo Constructor | Phần 2 - Lập trình Hướng Đối Tượng 2024, Tháng mười một
Anonim

Mô hình lập trình hướng đối tượng phổ biến trong tất cả các công cụ và ngôn ngữ hiện đại để tạo phần mềm. Tiêu chuẩn công nghiệp ngày nay là ngôn ngữ lập trình hướng đối tượng C ++. Bạn có thể tạo một thể hiện của một lớp trong C ++ theo nhiều cách khác nhau.

Cách khởi tạo một lớp
Cách khởi tạo một lớp

Nó là cần thiết

Trình biên dịch C ++

Hướng dẫn

Bước 1

Khởi tạo lớp dưới dạng một biến tự động trong phạm vi cục bộ được xác định bởi một hàm, phương thức lớp hoặc khối câu lệnh. Sử dụng định nghĩa khai báo hoặc mệnh lệnh của một đối tượng lớp tại một vị trí đã chọn trong chương trình của bạn. Nếu cần, hãy thực hiện một cuộc gọi rõ ràng đến bất kỳ hàm tạo nào có tham số. Tạo một đối tượng bằng cách sử dụng mã tương tự như sau: void CMyClass:: SomeMethod () {COtherClass oSomeObject1; // tạo một đối tượng bằng phương thức khởi tạo mặc định COtherClass oSomeObject2 (1980, "Victor V. Vakchturov"); // tạo một đối tượng bằng cách sử dụng một phương thức khởi tạo với các tham số} Bộ nhớ cho các đối tượng của các lớp được tạo theo cách tương tự, như đối với bất kỳ biến tự động nào khác, được cấp phát trên ngăn xếp. Do đó, khi bạn thoát khỏi phạm vi và loại bỏ khung ngăn xếp, đối tượng sẽ bị phá hủy (với lệnh gọi tới hàm hủy).

Bước 2

Tạo một thể hiện của lớp trong heap bằng cách sử dụng toán tử mới. Định nghĩa một biến kiểu con trỏ tới các đối tượng của lớp được khởi tạo. Cung cấp cho nó một giá trị là kết quả của việc đánh giá toán tử mới. Gọi hàm tạo thích hợp. Sử dụng đoạn mã tương tự như sau: CSomeClass * poSomeObject; // định nghĩa con trỏ tới các đối tượng của lớp CSomeClasspoSomeObject = new CSomeClass; // Tạo một đối tượng của lớp CSomeClass * poSomeObject_2 = new CSomeClass (111, "3V"); // tạo bằng lệnh gọi hàm tạo có tham số Khi tạo đối tượng bằng phương thức này, cơ chế cấp phát bộ nhớ được định nghĩa bởi toán tử mới sẽ được sử dụng (nếu nó không bị ghi đè và hàm cấp phát riêng của nó không được đặt), vì vậy địa chỉ của đối tượng mới không được biết trước. Tất cả các đối tượng được tạo theo cách này phải được xóa rõ ràng bằng cách sử dụng toán tử xóa.

Bước 3

Tạo một thể hiện của lớp bằng cách sử dụng toán tử mới trên một phần bộ nhớ tự cấp phát. Sử dụng mã tương tự như sau: void * p0 = malloc (sizeof (CSomeClass)); // cấp phát bộ nhớ void * p1 = malloc (sizeof (CSomeClass)); // cấp phát bộ nhớ new (p0) CSomeClass; // khởi tạo đối tượng trên vùng nhớ được cấp phát (hàm tạo mặc định) new (p1) CSomeClass (111, "abc"); // khởi tạo đối tượng (hàm tạo có tham số) Trước khi hủy các đối tượng được tạo bằng phương thức này, bạn nên gọi rõ ràng hàm hủy của chúng: ((CSomeClass *) p0) -> ~ (); Tạo đối tượng theo cách này chủ yếu được sử dụng trong các lớp chứa mẫu của các thư viện khác nhau (chẳng hạn như STL).

Đề xuất: