2011-01-27 18 views

Trả lời

10

Kể từ khi một máy phát điện là một đối tượng chức năng, bạn có thể nhanh chóng các máy phát điện và cung cấp đối số cho constructor của nó:

class MyGenerator 
{ 
private: 
    int startValue; 
public: 
    MyGenerator(int startValue): startValue(startValue) {} 

    // generate an instance of A 
    A operator()() 
    { 
     return A(startValue, rand()); // or whatever you were planning to do here...     
    } 
}; 

... 
//down in your code (added Fred's sugestion) 
generate_n(back_inserter(v), 10, MyGenerator(startValue)); 

Sau đó, mỗi khi bạn tạo ra bạn có thể sử dụng startValue và rand để tính toán các tham số tiếp theo để sử dụng để xây dựng đối tượng A của bạn.

+0

ah ... shikes, đánh bại tôi từng khoảnh khắc ... Tôi sẽ xóa ... – Nim

+1

generate_n (back_inserter (v), 10, MyGenerator (startValue)); –

Các vấn đề liên quan