Câu hỏi phỏng vấn C ++ trên Constructors
Hàm tạo là gì?
Một hàm tạo là một hàm của một lớp có cùng tên với lớp. Hàm tạo được gọi tại thời điểm khởi tạo đối tượng. Có ba loại hàm tạo -
- Hàm tạo mặc định
- Hàm tạo được tham số hóa
- Sao chép hàm tạo
Cú pháp
class cl_name{ cl_name(){ //This is constructor.. } }
Hàm hủy là gì?
Một trình hủy là một phương thức của một lớp có cùng tên với lớp được đặt trước bởi một dấu ngã ~ Biểu tượng. Nó được gọi ở cuối mã hoặc khi đối tượng bị phá hủy hoặc ra khỏi phạm vi.
Cú pháp
class cl_name{ ~ cl_name(){} //destructor }
Công dụng của hàm tạo là gì?
Hàm tạo là một phương thức có cùng tên với một lớp. Và việc sử dụng một hàm tạo là để khởi tạo đối tượng khi nó được tạo bằng cách sử dụng new từ khóa.
Khi một đối tượng được tạo, các biến là các phần bộ nhớ và giá trị cơ sở được khởi tạo nếu có.
Công dụng của hàm hủy là gì?
Hàm hủy là một phương thức có cùng tên với một lớp đứng trước ký hiệu ~. Việc sử dụng một hàm hủy là để phân bổ các phần bộ nhớ mà mã đi ra khỏi phạm vi của đối tượng hoặc bị xóa bằng cách sử dụng từ khóa xóa .
Khi đối tượng bị xóa, hàm hủy được gọi và nó sẽ giải quyết tất cả các khối bộ nhớ đã được tạo khi một đối tượng được tạo.
Thứ tự thực thi hàm tạo trong C ++ là gì?
Một phương thức khởi tạo được gọi khi đối tượng của một lớp được tạo. Thứ tự mà một phương thức khởi tạo được gọi giống như thứ bậc của sự kế thừa. Điều này có nghĩa là đầu tiên đối tượng của lớp cơ sở được gọi sau đó các đối tượng của lớp con được gọi và cứ tiếp tục như vậy.
Thứ tự thực thi hàm hủy trong C ++ là gì?
Một hàm hủy được gọi theo thứ tự ngược lại với tư cách là hàm tạo và được gọi khi đối tượng của lớp bị xóa. Thứ tự mà hàm hủy được gọi là đối lập với thứ bậc của kế thừa. Điều này có nghĩa là đầu tiên đối tượng của lớp con bị hủy sau đó các đối tượng của lớp cha bị hủy, v.v.
Phương thức tạo mặc định có được tạo ngay cả khi chúng ta tạo bất kỳ phương thức khởi tạo nào khác không?
Các hàm tạo được tạo theo mặc định bởi trình biên dịch nếu người lập trình không xác định rõ ràng bất kỳ hàm tạo nào. Nếu lập trình viên định nghĩa một phương thức khởi tạo thì trình biên dịch sẽ giữ công việc của nó và không định nghĩa bất kỳ phương thức nào trong số đó.