dostęp do statycznego pola klasy bazowej z klasy pochodnej

0

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ć?

0

Zmienić go na protected

0

@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

0

Jeśli pole będzie protected, to dostęp potem masz normalnie przez this, jak do każdego innego pola.

0

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?

0

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.

http://ideone.com/6y0YLu

4

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;
}

http://ideone.com/CBZscj

0

dziękuję

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