各种派生类的矢量

时间:2014-05-22 18:33:01

标签: c++ class vector derived

我仍然不知道如何从指向基类的向量中显示派生类的元素值。

#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的值。

1 个答案:

答案 0 :(得分:0)

尊重你的迭代器j

for (j = moj_graf.lista.begin(); j != moj_graf.lista.end(); j++){
    pochodna1* pPochondna = *j;
}
相关问题