Kod dla mnie słabo czytelny, bo nie potrzebnie wrzucasz mase elementów, które wgl nie są przydatne w Twoim problemie, jak np. całę menu.
Nie miałem czasu dokładnie przeanalizować, ale w linijce 115 tworzysz tablicę dynamicznie alokowaną, ale *tablica to nie jest to samo co masz w klasie klasa (ogólnie nazywaj to lepiej w lepszy sposób, bo przy większej ilości kodu się nie połapiesz + dobre nawyki). A w linijce 116 starasz sięwypełnic tą tablice, ale tak naprawdę zaalokowałeś inną tablice w mainie, a inną rzecz zamierzasz wypełnić w klasie. Aby to rozwiązać musisz po prostu zamiast 115 linijki wpisać między 60, a 61 linijką: *tablica= new int[liczba_elementow];
Problem, który zrobiłeś to, że masz dwa razy *tablica. Jedną w przestrzeni klasy, a drugą w przestrzeni maina. Kiedy jesteś w mainie to używasz tej z maina, a kiedy w klasie to tej z klasy. Aby pokazać, że w mainie chcesz używać tej z klasy musisz użyć operatora zasięgu: klasa::nazwa_zmiennej, aczkolwiek wtedy ta zmienna musiałaby być public. Możesz też napisać funkcją, która zwraca ten wskaźnik - jeżeli mam Ci o tym więcej powiedzieć to napisz ;)