Tôi có lớp nàyC++ constructor cuộc gọi khác constructor dựa trên tham số kiểu
class XXX {
public:
XXX(struct yyy);
XXX(std::string);
private:
struct xxx data;
};
Các nhà xây dựng đầu tiên (người làm việc với một cấu trúc) rất dễ dàng để thực hiện. Thứ hai tôi có thể chia một chuỗi trong một định dạng cụ thể, phân tích cú pháp và tôi có thể trích xuất cùng một cấu trúc.
Câu hỏi của tôi là, trong java tôi có thể làm một cái gì đó như thế này:
XXX::XXX(std::string str) {
struct yyy data;
// do stuff with string and extract data
this(data);
}
Sử dụng this(params)
để gọi constructor khác. Trong trường hợp này tôi có thể có cái gì đó tương tự?
Cảm ơn
Bạn có biết trình biên dịch nào hiện đang thực hiện thay đổi này hay không, dường như tôi nhớ lại rằng Clang chưa (ví dụ). –
@MatthieuM: Tôi không biết. Đã không thử nghiệm nó với bất kỳ trình biên dịch. :-) – Nawaz
:) Tôi e rằng điều này không được coi là quan trọng trong thực tế bởi vì ủy quyền cho một phương thức riêng tư hoạt động rất tốt (miễn là tất cả các thuộc tính hỗ trợ phân công), và do đó là ưu tiên thấp cho mọi người. –