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元素。这不是问题吗?