Wpis z mikrobloga

#programowanie #naukaprogramowania

Heja mirki. Mam pytanko, pisze program udający taki program do biblioteki i ogółem wyszło mi bardzo dużo linijek. Próbuje go skrócić i ulepszyć stosując polimorfizm i tutaj jest mój problem.

A *k =new Ksiazka();
k -> dod();
Tutaj zrobiłem wskaźnik który wskazuję na książkę a potem dzięki niemu odpalam metodę w klasie Ksiazka. Moje pytanie brzmi jak i czy w ogóle da się zrobić tablice takich wskaźników? żeby np w forze mógł zrobić
for(int i=0;i<10;i++)
k[i] -> dod();
Dotychczasowe wszystkie moje próby kończą się na tym że albo jest błąd kompilacji albo program odpala i przerywa działanie. Błagam pomocy(,)
  • 14
  • Odpowiedz
@Kokosz32: ja tam się na cpp nie znam, ale zrób sobie przysługę już teraz - oducz się nazywać metody i klasy A, dod i wysw. Nikomu nie płacisz od użytej literki, a im wcześniej nabierzesz nawyku ładnego nazywania metod tym lepiej. Idealnie by było w ogóle nazywać po angielsku :)
  • Odpowiedz
@Kokosz32: Nie wiem jak u ciebie ze znajomością nowszych standardów, ale jeśli zamierzasz korzystać ze wskaźników to polecam przyjrzeniu sie smart pointerów. Co do samej tablicy polecałbym c++ kontenery std::array i std::vector(mozna zarezerwować przy inicjalizacji miejsce i wtedy ma wydajność minimalnie gorsza niz tablica, ale za to jest dynamiczny).
  • Odpowiedz
@Kokosz32: Czy ja wiem, to jest dokładnie ten sam poziom jak tablice z C. A dodatkowo nie musisz sie bac o wycieki pamięci jak trzymasz w niej wskaźniki. Plus znasz polimorfizm, a nie znasz kontenerów? Dziwna kolejność. No i powodzenia :)
  • Odpowiedz