Factory pattern arkadaşımız için biraz kafa karıştırıcı olabilir. Arkadaş henüz OOP temellerini öğreniyor. Koşul kontrolü yapmak istersen, bu doğru olabilir hocam fakat dilin bir tık daha güçlü olan yanını kullanayım derseniz, pointer ile dynamic Memory allocation dediğimiz metodu uygulayabilirsiniz. Dma ile hem c++'ın pointer nimetinden faydalanırsınız, hem de şu an çok önemli olmasa da ileride önünüze gelecek performanslı kod yazma durumunu çözersiniz.
Ben de ayrıca listeleri öneriyorum. Listeleri araştırırsanız dinamik olarak genişleyebilen bir generic sınıfı kullanmış olursunuz. Birkaç metot ile okuma, yazma ve gezme işlemlerini gerçekleştirebilirsiniz.
Lists
Bir de kanımca, yazılım ile ilgili takıldığınız sorulara cevabı burada aramak yerine stack overflow kullanmanız daha doğru olur. Bu hem ingilizcenizi geliştirecek, hem de direkt olarak bu işin forumunda cevap arayacaksınız. Örneğin Google'a " how to create a dynamic arrays in c++" yazsanız örnek kodlardan tutun da anlatımlara kadar çok şey bulacaksınız muhtemelen.