Class Destructor Bliver ikke kladt?
Hej,Jeg har et problem at min destructor ikke bliver kladt i min kode, jeg har paa fornemmelsen at det er fordi jeg har en virtual class og jeg mangler et bindeled mellem delete og selve classen:
Jeg har intet problem med at kalde funktionerne det hele "virker" undtagen naa jeg bruger delete. Der jeg soeger er et svar der kan forklare mig og hjaelpe mig med at faa kaldt min destructor saa de to buffer arrays blever slettet.
Se kode:
main.cpp:
TESTClass::~TESTClass(void)
{
delete [] buffer1;
delete [] buffer2;
//"Print til fil"
}
void TESTClass::Func1()
{
//Do something
}
main.h
class TESTClass: public TEST
{
public:
TESTClass(void);
~TESTClass(void);
void Func1();
}
Base.cpp:
#pragma once
#include "Base.h"
Base.h:
class
class TEST {
public:
virtual void Func1()=0;
}
Koden der kalder functionen: (koden er taget i smaa bider)
std::vector<TEST*> List;
tempPtr = new TESTClass();
List.push_back(std::move(tempPtr));
List.back()->Func1();
delete List[i];