Dla uproszczenia całego problemu usuną wszystkie zbędne dodatki.
Mam klasę A ze statyczną zmienną(np Vector) i klasę dziedziczącą po klasie A-B. Chciałbym w klasie B korzystać z vectora klasy A(który jest prywatny). Jak to zrobić?
Zmienić go na protected
@stryku możesz pokazać jak by to miało wyglądać? Wiem gdzie to protected wstawić ale nie jestem pewien jak miały wyglądać dostęp do tego vectora
Jeśli pole będzie protected
, to dostęp potem masz normalnie przez this
, jak do każdego innego pola.
nadal nie rozumiem jak to mam zastosować...z tego co wiem jak będę tego normalnie używał to będę używał vectora z klasy pochodnej, a nie bazowej, możecie pokazać przykład?
to będę używał vectora z klasy pochodnej, a nie bazowej
Jakie vectora z klasy pochodnej, skoro klasa pochodna nie ma vectora? (zgodnie z tym, co powiedziałeś)
Klasa pochodna dziedziczy ten vector, co nie sprawia, że nagle staje się on odrębny w kontekście klasy bazowej. Przy dziedziczeniu wszystkie pola klas dziedziczonych operują w ramach tej samej klasy.
takie cudo:
#include <iostream>
using namespace std;
class A
{
protected:
static int a;
};
int A::a = 2;
class B : public A
{
public:
void printA()
{
cout<<a;
}
};
int main() {
B b;
b.printA();
return 0;
}
dziękuję