Dynamiczne tworzenie obiektów klas

0

Cześć,
załóżmy, że mam klasę człowiek która posiada takie dane jak imie, plec, wiek.
Użytkownik tworzy jakby książkę adresową złożyoną z kilku obiektów klasy człowiek.
W jaki sposób to zrobić?
Bo na sztywno pisałbym

Człowiek s1 = new Człowiek() 

itp.
A jak to zrobić dynamicznie? Tzn. od użytkownika będzie zależało ile obiektów klasy człowiek stworzy i one będą zapisane do pliku.
Swoją drogą jak wtedy edytować ich dane?

0

Kontenery. tablice, listy, mapy, cokolwiek
Pętle. iteracyjne, indeksujące, jakiekolwiek

2

Co masz na myśli mówiąc dynamicznie? Tablicę? Nie lepiej vector:

class Human{
private:
  std::string name;
  std::string number;
  ...

friend std::istream& operator>>(std::istream& in, Human& human);
}

std::istream& operator>>(std::istream& in, Human& human){
    in >> human.name >> human.number;
    return in;
}

int main(){
    std::vector<Human> humans;
    for(int i = 0; i < 10; ++i){
        Human human;
        std::cin >> human;
        humans.push_back(human);
    }
}

Nie kompilowane, pisane w przeglądarce, ale powinno działać.

2

Poprawka w C#

using System.Collections.Generic;
using System.IO;

namespace ConsoleApplication1
{
    class Human
    {
        public string name { get; set;}
        public string number {get; set;}
    }

    class Program
    {
        static void Main(string[] args)
        {
            List<Human> phonebook = new List<Human>();
            using (StreamReader myFile = new StreamReader("File.txt"))
            {
                while (!myFile.EndOfStream)
                {
                    Human human = new Human();
                    human.name = myFile.ReadLine();
                    human.number = myFile.ReadLine();
                    phonebook.Add(human);
                }
            }
        }
    }
}

//Serio w tym języku nie da się przeciążyć wczytywania z pliku jakoś normalnie?

1 użytkowników online, w tym zalogowanych: 0, gości: 1