C++ 各种派生类的向量

C++ 各种派生类的向量,c++,class,vector,derived,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:

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

#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;
}
#包括
#包括
#包括
#包括
使用名称空间std;
巴佐瓦班;
格拉夫级{
公众:
向量lista;
};
巴佐瓦班{
公众:
INTA;
};
pochodna1类:公共巴佐瓦{
公众:
int b;
};
pochodna2类:公共巴佐瓦{
公众:
int b;
};
int main(){
向量::迭代器j;
格拉夫·莫朱格拉夫;
moj_graf.lista.推回(新pochodna1);
moj_graf.lista.推回(新pochodna2);
moj_graf.lista.推回(新pochodna2);
for(j=moj_-graf.lista.begin();j!=moj_-graf.lista.end();j++){
//如何显示元素b的值?
}
返回0;
}

因此,问题是如何在main的最后显示元素b的值。

遵从您的迭代器
j

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

向量中有pochodna1和pochodna2元素。这不是问题吗?