Chúng ta thường sử dụng các cấu trúc c ++ để định nghĩa cấu trúc dữ liệu trái ngược với lớp có thể là một mô-đun hoàn chỉnh với các phương thức thành viên. Bây giờ sâu thẳm, chúng tôi biết cả hai đều giống nhau (nói một cách lỏng lẻo).
Thực tế là chúng ta thường sử dụng / xử lý các cấu trúc như các thực thể chỉ dữ liệu tạo ra sự thôi thúc này mà chúng ta cũng không thêm các hàm tạo mặc định. Nhưng các nhà xây dựng luôn tuyệt vời, họ làm cho mọi thứ đơn giản hơn và giúp loại bỏ lỗi.
Nó sẽ được nhăn mặt nếu thêm các hàm tạo mặc định vào cấu trúc dữ liệu của tôi?
Việc triển khai hàm tạo mặc định cũng làm cho cấu trúc Non-POD (kiểu dữ liệu cũ đơn giản) được cung cấp các tiêu chí khác được đáp ứng?
Để đặt mọi thứ trong quan điểm, hãy xem xét một ví dụ đơn giản nhưng trong thực tế, cấu trúc sẽ lớn hơn nhiều.
struct method
{
char name[32];
float temperature;
int duration;
};
Mỗi lần tôi tạo một phương thức, tôi phải lo lắng (ít nhất là nói) nếu tôi quên đặt một số giá trị. Hãy tưởng tượng tôi quên thiết lập temperature
và áp dụng phương pháp cho hệ thống mà bây giờ là một giá trị cao ngẫu nhiên và gây ra tình trạng hỗn loạn. Hoặc tôi quên cài đặt duration
và bây giờ phương thức này tự áp dụng trong một thời gian cao không xác định.
Tại sao tôi phải có trách nhiệm khởi tạo đối tượng mỗi lần thay vì triển khai hàm tạo của nó để đảm bảo nó?
struct
và class
đó là một mặc định là riêng tư và khác là công khai.