我仍然不知道如何从指向基类的向量中显示派生类的元素值。
#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;
}
所以问题是如何在main中显示最后一个元素b的值。
答案 0 :(得分:0)
尊重你的迭代器j
for (j = moj_graf.lista.begin(); j != moj_graf.lista.end(); j++){
pochodna1* pPochondna = *j;
}