Tôi phải viết hàm tạo với hai tham số mặc định.cách bỏ qua Đối số Mặc định C++?
func(int arg1 , char* arg2 = "arg2", int arg3 = 1) //example
tôi cung cấp các kịch bản mà các nhà xây dựng được gọi và một giá trị được trao cho arg1
và arg2
và arg3
dự kiến sẽ sử dụng giá trị mặc định. Sau đó, một đối tượng khác được khởi tạo và một giá trị được gán cho arg1
và arg3
và giá trị mặc định cho arg2
được dự kiến sẽ được sử dụng. Bây giờ vấn đề là, bạn "không thể bỏ qua" các tham số mặc định là những gì tôi đang đọc từ văn bản và trực tuyến. Nó nói để đặt hàng các paramters mặc định từ tính thích hợp của nó bị quá tải, nhưng kịch bản có một tham số mặc định được sử dụng trong khi khác không phải là. Các gợi ý cho câu hỏi này yêu cầu tôi sắp xếp lại các tham số/đối số. Tuy nhiên, không có số lượng sắp xếp lại mà tôi đã thực hiện dường như có thể giải quyết vấn đề này.
Ngoài ra, các nhà xây dựng quá tải không thể sử dụng được. Điều này phải được thực hiện bởi một nhà xây dựng.
Vậy làm cách nào để thực hiện việc này? Tôi bối rối và đi một chút điên trên này :(
Bạn không thể làm điều này trong C++ với định nghĩa hàm đơn. Cho rằng bất kỳ giải pháp khác vi phạm những hạn chế kỳ lạ bạn có, những gì bạn muốn là không thể. Có lẽ bạn có thể sử dụng một ngôn ngữ khác. –
là bài tập về nhà này? – xmoex
Bạn không thể sử dụng 'vectơ' của' đối tượng '? Bằng cách này bạn có thể vượt qua những gì bạn muốn và sắp xếp những gì không được thông qua dựa trên các mục 'null'. – MoonKnight