# The C++ DataSource Class

> The abstract class DataSource cannot be instantiated directly but is instead instantiated though one of its related classes; typically via a QueryResult object returned by methods `executeQuery()` and `executePreparedQuery()` of classes McoSqlEngine, RemoteSqlEngine and McoMultithreadedSqlEngine.

> ### For an overview see page C++ Classes

> The only DataSource method of interest (not shown here) is `release()` which is called by the QueryResult object's destructor.