problem z dziedziczeniem

0

Czesc, napisalem dwie klasy, jedna dziedziczy po drugiej, dla przykladu zrobmy to tak:

class _1{
public:
   int quantity;
...
};


// =============

class _2 : public _1 {
public:
   void JakasMetoda() { quantity = 1; }
};

Jak widac, w klasie _2 jest metoda, ktora chce sie dobrac do zmiennej quantity z klasy _1, niestety w VS dostaje blad (przy dzialaniu programu)

	_1::quantity	CXX0041: Error: class element must be static member or member function	

Dlaczego? O co chodzi? Gdy probuje sie dostac do tej zmiennej przez operator zasiegu _1::quantity dostaje podobny komunikat.

0

U mnie nie ma takiego błędu (VC++ 2005)

0

Z bledu wynika, ze odwolujesz sie przez _l::quantity, a tak rzeczywiscie nie mozesz, bo nie jest to skladowa statyczna, o czym zreszta informuje blad.

0

no wiec wlasnie nie odwoluje sie przez _1::quantity, obiekt typu _2 tworze za pomoca operatora new, moze to ma cos do rzeczy?

0

Nie powinno, zreszta w tym kodzie co podales tez nie powinno byc bledu.

0

nie mam za bardzo czasu sprawdzac na innym kompilatorze jak to bedzie wygladalo, ale chyba to jest ostatnia rzecz jaka pisze w VS, bo coraz bardziej mnie irytuje :)

0

Składnia jest prawidłowa , w Borland działa . [???]

1 użytkowników online, w tym zalogowanych: 0, gości: 1