【发布时间】:2020-08-17 16:19:11
【问题描述】:
使用以下代码,我需要将新对象存储在指针向量中。我已经完成了,但现在它不会显示有关循环中对象的任何信息(我在哪里通过向量)。在类 Tvrtka(公司)中,我有 Zaposlenik(工人)的指针向量。对于我存储的每个对象,它都会转到向量。
class Tvrtka{
public:
string oib;
string naziv;
string adresa;
vector<const Zaposlenik*> zaposlenici;
Tvrtka(){}
Tvrtka(const string _oib, const string _naziv,const string _adresa, vector<const Zaposlenik*> _z)
{
this->oib=_oib;
this->naziv=_naziv;
this->adresa=_adresa;
for(int i=0;_z.size();i++)
{
zaposlenici.push_back(_z[i]);
}
}
主要部分:
vector<const Zaposlenik*>zaposlenici;
Zaposlenik *z1=new Zaposlenik("Marko", "maric", 20);
zaposlenici.push_back(z1);
Tvrtka t1("198","Majur", "2222", zaposlenici);
for(int i=0;i<zaposlenici.size();i++)
{
cout<<zaposlenici[i]->ime;
}
如果我评论 t1(Tvrtka 的对象),它会显示有关工人的信息。
【问题讨论】:
-
请编辑您的问题以包含minimal reproducible example、预期行为以及您得到的结果。
-
Tvrtkactor 中的注意循环是完全多余的,复制向量(或赋值)的 ctor 会导致完全相同的结果。 -
回滚,因为这个版本更接近完成(虽然没有完成)
-
@MikeCAT 通过回滚你的回答无效:)
-
@Slava 你是什么意思?