Здравствуйте, Сray, Вы писали:
С>Я, конечно, понимаю, что можно все необходимые include засунуть в "someclass.h". Собственно, так обычно и делаю. Но может есть какие-нибуть другие варианты покрасивей?
С>Если SomeClass есть часть какой-то библиотеки, то получается, что чтобы использовать ее нужно перечислить кучу заголовочных файлов предназначенных "для внутреннего использования" внутри класса.
С>Sorry если вопрос глупый
Используй идиому Pimpl.
///////////////////////////////////////////////////////////////////////////////
// DataMapper.h
#pragma once
#include "Reference.h"
class DataMapper : public Reference
{
public:
DataMapper();
~DataMapper();
// ...
private:
std::auto_ptr<struct DataMapperImpl> _pimpl; // непрозрачный указатель на реализацию
};
///////////////////////////////////////////////////////////////////////////////
// DataMapper.cpp
#include "stdafx.h"
#include "DataMapper.h"
using namespace ADODB;
using namespace std;
///////////////////////////////////////////////////////////////////////////////
struct DataMapperImpl
{
DataMapperImpl() : _connection(__uuidof(Connection))
{
_connection->Open(sqlConnection, _bstr_t(), _bstr_t(), adConnectUnspecified);
};
_ConnectionPtr _connection;
};
///////////////////////////////////////////////////////////////////////////////
DataMapper::DataMapper()
: _pimpl(new DataMapperImpl)
{
}
///////////////////////////////////////////////////////////////////////////////
Подробнее:
Compilation Firewalls