jak zasugerował WhozCraig, możesz dodać delete Driver;
do funkcji testowej, ale sugerowałbym użycie auto_ptr
lub C++11 unique_ptr
lub shared_ptr
dla wszystkiego MYSQL i nigdy nie będziesz musiał się martwić o wycieki pamięci
weź to na przykład
z C++11
std::unique_ptr< sql::Connection > con( driver->connect("tcp://127.0.0.1:3306", "root", "root"));
lub C++
std::auto_ptr< sql::Connection > con( driver->connect("tcp://127.0.0.1:3306", "root", "root"));
EDYTUJ
nie możesz po prostu delete Driver
, zajmę się tym bardziej, gdy będę miał czas
AKTUALIZUJ
Przejrzałem driver.h
kod źródłowy, rzeczywiście jest protected:
virtual ~Driver() {}
więc nie możesz po prostu użyć usunięcia, jakkolwiek w public:
są dwa
virtual void threadInit() = 0;
virtual void threadEnd() = 0;
co może być tym, czego potrzebujesz
jest też ten przykład co może być bardzo przydatne i robi to trochę inaczej niż ty