2013-11-01 21 views
0

我想知道是否可以僅從用戶輸入創建多個類實例。例如:從用戶輸入創建多個類實例

Class Person{ 
     int a; 
     int b; 

} 

Person 1; Person 2; etc... 
int number; 

然後

cout << "Ask user to input a number for amount of class instances"; 
cin >> number; 

有沒有什麼辦法,當你問用戶,這個數字,你就會得到讓說的人5類實例?或者這種方式不可行,或許應採取另一種方法?

回答

1
cin >> number; 
std::vector<Person> instances(number); // will use Person() default constructor 
             // to create number of instances   
1

使用std::vector

std::vector<Person> persons; 

,您可以根據需要使用std::vector::push_back()

+0

因爲我們還沒有做矢量,我不確定它的用法。矢量功能到底是什麼? – user2860942

+0

將矢量看作動態數組,它將調整大小以適應插入到其中的元素。 – Kunal

+0

由於實例的數量已知,所以他可以預先分配空間 – 4pie0

0

在C++ 11,這是非常簡單的通過動態運行時大小的數組中插入多個Person對象。

Person people[number]; 

所有的向量答案也是正確的,在我看來,上級。