在类 Baza 中,我需要创建一个数组,其中包含来自类 ZadanieTekst、ZadanieNumer、Zadanie4Odp 的对象。我怎样才能做到这一点?
class Zadanie
{
protected:
string tresc;
};
class Zadanie4Odp : private Zadanie
{
private:
string a,b,c,d;
string poprawna;
public:
Zadanie4Odp(string tresc1,string a1,string b1,string c1,string d1,string pop)
{
tresc=tresc1;
a=a1;
b=b1;
c=c1;
d=d1;
poprawna=pop;
}
};
class ZadanieNumer : private Zadanie
{
private:
int poprawna;
public:
ZadanieNumer()
{
}
ZadanieNumer(string tresc1,int pop)
{
tresc=tresc1;
poprawna=pop;
}
};
class ZadanieTekst : private Zadanie
{
private:
string poprawna;
public:
ZadanieTekst(string tresc1,string pop)
{
tresc=tresc1;
poprawna=pop;
}
};
class Baza
{
//here must be array of objects
};
我为我的学校项目做这件事,这是我无法解决的问题。提前感谢您的帮助:)
我认为
,如果不要使用std::unique_ptr或std::array做太多工作,这样的东西会很有用:
#include <vector>
...
class Baza
{
public:
std::vector<Zadanie*> my_vector;
};
...
int main(void)
{
Baza my_baza;
// Remember to properly destroy objects if you plan to
// use this approach without memory leaks!
my_baza.my_vector.push_back(new ZadanieTekst(//Insert Params//));
my_baza.my_vector.push_back(new ZadanieNumer(//Insert Params//));
my_baza.my_vector.push_back(new Zadanie4Odp(//Insert Params//));
...
return 0;
}