Dziedziczenie, typy generyczne, problem

0

Witam serdecznie,

mógłby ktoś rzucić świeżym okiem na ten kawałek kodu? Występuje błąd:

line 18: error `wierzcholki` was not declared in this scope.

Wydawałoby się, że pola klasy Graf powinny być dostępne dla klasy pochodnej (są przecież publiczne). 5-tą godzinę już nad tym siedzę - udało mi się wyłapać już co powoduje błąd (poniższy kawałek kodu). Byłbym bardzo wdzięczny.
Dodam tylko, że po usunięciu typów generycznych i zastąpieniu ich np. int'em błąd nie występuje.

#include <iostream>
#include <vector>

using namespace std;

template<class typW>
class Graf{
public:
	vector<typW > wierzcholki;
};


template<class typK>
class GrafSkierowany : public Graf<typK>{
public:
  void getIteratorWierzcholkow()
  {
    cout<<wierzcholki.size();
  };
};


int main (int argc, char * const argv[]) {
  GrafSkierowany<int>  graf1;
	graf1.getIteratorWierzcholkow();
  return 0;
};

Pozdrawiam

2
#include <iostream>
#include <vector>

using namespace std;

template<class T>
class Graf
{
protected:
    vector<T> vertexes;
};


template<class T>
class GrafSkierowany : public Graf<T>
{
public:
    void printVertexesSize()
    {
        cout<<this->vertexes.size();
    }
};


int main (int argc, char * const argv[])
{
    GrafSkierowany<int>  graf;
    graf.printVertexesSize();
    return 0;
}
0

Cholernie Ci dziękuję! Taka głupia drobnostka i tyle czasu mi zmarnowała.

Gdybyś czegoś potrzebował - do usług.

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