Предположим, что в неком заголовочном файле "someclass.h" содержится такая запись:
class SomeClass
{
public:
SomeClass();
virtual ~SomeClass();
int DoSomething(int);
private:
vector<int> m_V;
map<int,int> m_M;
// etc...
};
В файле "someclass.cpp" тогда должно быть
#include <vector>
#include <map>
#include <evrething> // :-)
#include "someclass.h"
Чтобы использовать этот класс я должен перечислить те-же include. Хотя ни один из открытых членов не использует в параметрах и в возврате ни vector ни map или что-там там еще требующее дополнительных заголовочных файлов.
Хотелось бы использовать только #include "someclass.h" во всех местах где данный класс вызывается.
Я, конечно, понимаю, что можно все необходимые include засунуть в "someclass.h". Собственно, так обычно и делаю. Но может есть какие-нибуть другие варианты покрасивей?
Если SomeClass есть часть какой-то библиотеки, то получается, что чтобы использовать ее нужно перечислить кучу заголовочных файлов предназначенных "для внутреннего использования" внутри класса.
Sorry если вопрос глупый