-3

I still don't know how show derived class's element value from vector of pointers to base class.

#include <iostream>
#include <cstdlib>
#include <vector>
#include <iterator>

using namespace std;

class bazowa;

class graf{
public:
    vector<bazowa*> lista;
};

class bazowa {
public:
    int a;
};

class pochodna1 : public bazowa {
public:
    int b;
};

class pochodna2 : public bazowa {
public:
    int b;
};

int main() {
    vector<bazowa*>::iterator j;
    graf moj_graf;
    moj_graf.lista.push_back(new pochodna1);
    moj_graf.lista.push_back(new pochodna2);
    moj_graf.lista.push_back(new pochodna2);

    for (j = moj_graf.lista.begin(); j != moj_graf.lista.end(); j++){
            // how to show a value of element b ?
    }
    return 0;
}

So the question is how to show a value of element b in last for in main.

Yakk - Adam Nevraumont
  • 262,606
  • 27
  • 330
  • 524

1 Answers1

0

Deference your iterator j

for (j = moj_graf.lista.begin(); j != moj_graf.lista.end(); j++){
    pochodna1* pPochondna = *j;
}
Cory Kramer
  • 114,268
  • 16
  • 167
  • 218