Witam,
mam problem z listą jednokierunkową operującą na obiektach i obiektach dziedziczących.
class object{
public:
int a;
int b;
int c;
object();
~object();
object *next;
virtual int resolve() = 0;
private:
static object *head;
};
class line : public object {
public:
int resolve(int);
private:
line(int, int);
~line();
};
class square : public object {
public:
int resolve(int);
private:
square(int, int, int);
~square();
};
square i line mają zawierać równania linii i funkcji kwadratowych.
konstruktory równań mają zbierać dane czyli chyba coś takiego:
line::line(int d, int e) {
cout << "creating new line" << endl;
a=d;
b=e;
};
square::square(int i, int o, int p) {
cout << "line constructor" << endl;
a=i;
b=o;
c=p;
};
tylko teraz mam problem, ponieważ zawsze do dodawania nowego obiektu do listy używałem oddzielnej funkcji, a tutaj dodawać obiekt ma konstruktor klasy object. Kombinowałem, kombinowałem i wreszcie na nic nie wpadłem :) obiekt ma być wepchnięty na początek listy
// w tej klasie funkcje resolve itp to już inna historia :) nie wiem tylko jak upchnąć te listę :)