Witam serdecznie wszystkich.
Ostatnio siedzę nad projektem i pojawił się problem taki jak w tytule. Chcę wyświetlić elementy vectora w metodzie dzieziczonej wirtualnie.
Przykładowy kod z mojego programu:
#include<iostream>
using namespace std;
class Object
{
public:
virtual void Show()=0;
size_t Calculate(uint8_t *data);
};
class Package:public Object
{
uint8_t One;
uint8_t Two;
vector<string>ListArg;
public:
Package(uint8_t LOne);
void Show()override;
};
class Name:public Object
{
string TitleName;
Object *wsk;
public:
void Show()override;
void SetPackage(Package obj);
};
void Name::Show()
{
cout<<" Name("<<this->TitleName<<",";
this->wsk->Show();
cout<<")"<<endl;
}
void Name::SetPackage(Package obj)
{
this->wsk=&obj;
}
Package::Package(uint8_t LOne)
{
this->One=LOne;
this->Two=3;
for(int i=0;i<static_cast<int>(this->Two);i++)
{
string tekst="Test";
this->ListArg.push_back(tekst);
}
}
void Package::Show()
{
cout<<" Package("<<"0x"<<hex<<static_cast<int>(this->Two)<<")";
for(auto &arg:ListArg)
{
cout<<arg<<endl; // Tu wyrzuca mi Segmentation Fault.
}
}
int main()
{
Name a;
Pakcage pack(12);
a.SetPackage(pack);
a.Show();
}
Bardzo dziękuję za każdą pomoc i jeśli coś będzie jeszcze potrzebne to proszę pisać.
Życzę miłego dnia.