5.5.1 Con trỏ trỏ đến đối tượng

Từ trước đến nay, chúng ta đã coi các đối tượng như các biến bình thường khác và giả định rằng một đối tượng được tạo ra ở nơi nó được khai báo và bị hủy khi ra khỏi phạm vi khai báo của nó. Tuy nhiên, đó chỉ là một trong những trường hợp có thể xảy ra.

Các đối tượng cũng có thể tồn tại như các thực thể được tạo ra và hủy một cách linh động (dynamically). Nói cách khác, đối tượng có thể được sinh ra và biến mất tùy theo yêu cầu khi chạy chương trình chứ không xác định trước khi code.

Hãy bắt đầu với chương trình đơn giản sau đây →

Trong ví dụ có định nghĩa một lớp và đặt tên nó là Class. Lớp này không có data và không có hàm thành viên. Chỉ có một constructor và một destructor trong lớp này. Cả hai đều không làm gì cả – hoạt động duy nhất của chúng là thông báo rằng chúng đã được gọi.

Hàm main khai báo biến ptr, là một con trỏ tới đối tượng của lớp Class. Tiếp theo, chúng tôi đã tạo ra một đối tượng của lớp đó bằng cách sử dụng từ khoá new. Lưu ý rằng chúng ta có thể bỏ qua ngoặc đơn rỗng sau tên Class – trong cả hai trường hợp, constructor không tham số sẽ được gọi.

Cuối cùng, đối tượng bị hủy bằng cách sử dụng từ khóa delete. Quá trình huỷ bỏ đối tượng bắt đầu bằng việc gọi destructor của nó. Chương trình sẽ tạo ra kết quả sau:

Object constructed!
Object destructed!