Justynka__

Justynka__ ostatnie wypowiedzi na forum i w komentarzach

19.04.2012 06:26
odpowiedz
Justynka__
1
Image

Cześć !
Mam problem z podobnej dziedziny.
Tworzę proxy - klasa bazowa i klasa proxy dziedzicząca.
Klasa dziedzicząca ma w liście inicjalizacyjnej konstruktora przypisać parametr do pola klasy bazowej.
Niestety, nie działa.
Poniżej zamieszczam kod; fragment hpp i cpp.
W zdjęciu po prawej print z błędami.

HPP///////////////////////////////////////
class DaneStat

public:
DaneStat ();
// zwraca referencje na przechowywane dane
virtual const std::vector <float> &dane () const = 0;
virtual ~DaneStat () ‹›;
virtual const std::string &nazwa () const; // zwraca nazwe pliku
protected:
std::string nazwa_; // nazwa pliku
›;

// proxy - wczytuje prawdziwy obiekt przy pierwszym uĹĽyciu

class DaneStatProxy : public DaneStat

public:
DaneStatProxy(std::string nazwa);
// zwraca referencje na przechowywane dane
virtual ~DaneStatProxy ();
virtual const std::vector <float> &dane () const;
virtual void wczytaj (std::istream &is, std::ostream &os);
protected:
DaneStatProxy *dane_proxy_;

›;

CPP///////////////////////////////////////

DaneStat::DaneStat () ‹› // w tej nie inicjalizujmy
//DaneStat::~DaneStat () ‹›
//DaneStat::dane () const ‹›
//DaneStat::&nazwa () const ‹return nazwa_;›

DaneStatProxy::DaneStatProxy(std::string nazwa) : DaneStat::nazwa_(nazwa), dane_proxy_(NULL) ‹›
DaneStatProxy::~DaneStatProxy () ‹delete dane_proxy_;›
DaneStatProxy DaneStatProxy::dane() const ‹return &dane_proxy_;›
DaneStatProxy::nazwa() const ‹return &nazwa_;›
DaneStatProxy::wczytaj (std::istream &is, std::ostream &os)

if(!dane_proxy_) dane_proxy_ = new DaneStatReal(&nazwa);
dane_proxy_->wczytaj(is, os);

GRYOnline.pl:

Facebook GRYOnline.pl Instagram GRYOnline.pl X GRYOnline.pl Discord GRYOnline.pl TikTok GRYOnline.pl Podcast GRYOnline.pl WhatsApp GRYOnline.pl LinkedIn GRYOnline.pl Forum GRYOnline.pl

tvgry.pl:

YouTube tvgry.pl TikTok tvgry.pl Instagram tvgry.pl Discord tvgry.pl Facebook tvgry.pl