Tôi có hai lớpLàm thế nào để bạn sử dụng hàm tạo không mặc định cho một thành viên?
class a {
public:
a(int i);
};
class b {
public:
b(); //Gives me an error here, because it tries to find constructor a::a()
a aInstance;
}
Làm thế nào tôi có thể lấy nó để aInstance được khởi tạo với một (int i) thay vì cố gắng tìm kiếm một constructor mặc định? Về cơ bản, tôi muốn kiểm soát việc gọi hàm dựng của từ bên trong hàm tạo của b.
Tôi nhận ra đây là một ví dụ chứ không phải mã thực sự, nhưng chỉ vì lợi ích của ~~ là một chất lượng mã vạch ~ ~, thường không phải là một ý tưởng hay để tạo trường 'công khai'. Chắc chắn, có một số trường hợp sử dụng và không phải là _universally_ xấu, nhưng trước khi thực hiện, hãy đảm bảo có lý do ngoài "nó có thể đơn giản hóa một số mã của tôi" ("nó đơn giản hóa rất nhiều mã của tôi" là lý do hoàn toàn có thể chấp nhận được) , mặc dù) –