Destructor là gì
Class Contructor trong C++Một class contructor là một hàm thành viên đặc biệt của một lớp mà được thực thi bất cứ khi nào chúng ta tạo các đối tượng mới của lớp đó. Show Một constructor sẽ có tên giống như lớp và nó không có bất kỳ kiểu trả về, kể cả kiểu void. Constructor có thể rất hữu ích để thiết lập các giá trị khởi tạo cho các biến thành viên cụ thể. Ví dụ sau giải thích khái niệm contructor trong C++: #includeBiên dịch và chạy chương trình C++ trên sẽ cho kết quả sau: Constructor được tham số hóa trong C++Một constructor mặc định trong C++ không có bất kỳ tham số nào, nhưng nếu bạn cần, một constructor có thể có các tham số. Điều này giúp bạn gán giá trị khởi tạo tới một đối tượng tại thời điểm tạo nó, như trong ví dụ sau: #includeBiên dịch và chạy chương trình C++ trên sẽ cho kết quả sau: Sử dụng danh sách khởi tạo cho các trường khởi tạoTrong trường hợp constructor được tham số hóa, bạn có thể sử dụng cú pháp sau để khởi tạo các trường. Line::Line( double dai): chieudai(dai) { cout << "Doi tuong dang duoc tao, chieudai = " << dai << endl; }Cú pháp trên là tương đương với cú pháp sau: Line::Line( double dai) { cout << "Doi tuong dang duoc tao, chieudai = " << dai << endl; chieudai = dai; }Nếu với một lớp trong C, bạn có nhiều trường X, Y, Z,… để được khởi tạo, thì bạn có thể sử dụng cú pháp tương tự và phân biệt các trường bởi dấu phảy, như sau: C::C( double a, double b, double c): X(a), Y(b), Z(c) { .... }Class Destructor trong C++Một destructor là một hàm thành viên đặc biệt của một lớp mà được thực thi bất cứ khi nào một đối tượng của lớp đó ra khỏi phạm vi hoặc bất cứ khi nào biểu thức delete được áp dụng tới một con trỏ tới đối tượng của lớp đó. Một destructor sẽ có cùng tên với lớp và được đặt trước bỏi ký hiệu ~ và nó có thể: không trả về một giá trị và không nhận bất kỳ tham số nào. Destructor có thể rất hữu ích để giải phóng resource trước khi thoát khỏi chương trình, ví dụ: đóng file, giải phóng bộ nhớ… Ví dụ sau giải thích khái niệm về destructor trong C++: #includeBiên dịch và chạy chương trình C++ trên sẽ cho kết quả sau: Theo Tutorialspoint Bài trước: Access Modifier cho lớp trong C++ Bài tiếp: Copy constructor trong C++ |