class TMyCustomItem
{
private :
bool modify;
bool checked;
unsigned char *bdata;
public :
TMyCustomItem(unsigned int DataSize, unsigned char *data)
{
bdata = new unsigned char[DataSize];
if(data==NULL)ZeroMemory(bdata, DataSize);
else memcpy(bdata, data, DataSize);
}
~TMyCustomItem(){delete []bdata;}
};
ale potřeboval bych ji předělat tak, aby byla univerzální, tzn. abych mohl místo unsigned char *bdata dát třeba strukturu nebo jen řetězec o určité velikosti a nebo jen int, a nemusel celou tu třídu v projektu znovu zakládat. Vím, že bych mohl vyřešit zadáním velikosti, vytvořením pole a přetypováním, ale zajímalo by mě jestli se to dá vyřešit ještě jinak.
Myslím, že se nato používá template, ale nevím jak to tady použít.
#2Satik
Třeba, ale to by bylo vlastně o tom přetypování.
Teď vidím, že jsem neuvedl proč se nato ptám a asi je to potřeba uvést:
řekneme, že bych tuto třídu nějakým způsobem na definoval do jiné ve které by byl vector těchto tříd, a ten by očekával, že bdata budou vždy stejného typu. Vím, že vectoru je to jedno, ale mě to třeba jedno nebude a chci aby mě kompilátor oznámil chybu.