Przypisanie wartości do elementu struktury

Przypisanie wartości do elementu struktury
Marcin Orzelowski
Marcin Orzelowski
  • Rejestracja:około 8 lat
  • Ostatnio:prawie 2 lata
  • Postów:14
0

Witam, mam taki szablon klasy i funkcji:

Kopiuj
#include <iostream>

using namespace std;
template<typename Key, typename Info>
class Sequence//single linked lsit
{
    struct element
    {
        Key k;
        Info i;
        element *next;
    };
    element *head=0;

public:
    Sequence();
    ~Sequence();
    Sequence(const Sequence &x);
    void add_after(Key where, Key k1, Info i1);
    void remove_element(Key which);
    void print_list();
    int length();
    void print_element(Key which);
    Sequence operator=(const Sequence &x);

};
template<typename Key, typename Info>
Sequence<Key, Info> shuffle(const Sequence<Key,Info> &s1, int start1, int step1, int rep1, const Sequence<Key,Info> &s2, int start2, int step2, int rep2)
{
    Sequence<Key,Info> a=new Sequence<Key,Info>;
    element *x=s1.head;//nie działa
}

potrzebuje stworzyć element, który będzie wskazywał na głowę obiektu s1. Pomoże ktoś i podpowie jak to zrobić?

edytowany 1x, ostatnio: kq
spartanPAGE
co sie stalo, ze po ostatnim razie int length() wciaz nie jest oznaczone jako niemodyfikujace obiektu?
kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:około 12 godzin
  • Lokalizacja:Szczecin
0
Kopiuj
Sequence<Key,Info> a=new Sequence<Key,Info>;

To nie Java, new zwraca wskaźnik, a nie obiekt. Ponadto polecam tę lekturę na temat nadużywania new i jawnego delete.

Kopiuj
element *x=s1.head;

head jest prywatną zmienną klasy, zewnętrzne funkcje nie mają do niej dostępu.


Marcin Orzelowski
Marcin Orzelowski
To w jaki sposób mogę utworzyć wskażnik typu element na head'a? Jest to wgl możliwe?
kq
element *x jest tego typu. Problemem jes to, że head nie jest w tym miejscu dostępne.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.