Witam, mam napisać na zaliczenie monopol. Jako, że infe potraktowałem po macoszemu w tym semestrze, teraz mam problem. Znalazłem podobny temat na forum, i jako że mój pomysł był podobny, próbuje to jakoś odtworzyć. Potrzebuje pomocy jak ma wyglądać funkcja dodająca pola do planszy np w klasie Specjalne.
Dołączam kod :
#include <iostream>
#include <cstdlib>
using namespace std;
class CPole{
public:
virtual void dodaj()=0;
virtual void wyswietl()=0;
};
class Specjalne : public CPole{
int Nr_Pola;
string Nazwa;
int Cena;
public:
Specjalne(int nr_pola, string nazwa, int cen)
{
Nr_Pola=nr_pola;
Nazwa=nazwa;
Cena=cen;
}
virtual void wyswietl()
{
cout<<"Nr Pola : "<<Nr_Pola<<endl;
cout<<"Nazwa Pola: "<<Nazwa<<endl;
cout<<"Cena zaupu: "<<Cena<<endl;
}
virtual void dodaj()
{
JAK MA WYGLADAC TAKA FUNKCJA DODAJACA??
}
};
class ElementPlanszy {
public:
CPole *Pole;
ElementPlanszy *nast, *pop;
};
class Plansza {
public:
ElementPlanszy *pocz, *kon, *nowy;
Plansza(){pocz=NULL;}
void DodajElement(CPole *wsk)
{
nowy = new ElementPlanszy;
nowy->Pole = wsk;
nowy->pop = NULL;
nowy->nast = NULL;
if(pocz==NULL){ pocz=nowy; kon=nowy; }
else { nowy->pop = kon; kon->nast = nowy; }
kon=nowy;
}
void Dodaj()
{
CPole *wsk;
wsk = new Specjalne(1,"Start",400);
DodajElement(wsk);
}
void Wyswietl()
{
while(pocz!=NULL)
{
cout<<"Nr Pola : "<<pocz->Pole->Nr_Pola<<endl;
cout<<"Nazwa Pola: "<<pocz->Pole->Nazwa<<endl;
cout<<"Cena zakupu: "<<pocz->Pole->Cena<<endl;
pocz = pocz->nast;
}
}
};