Сокрытие не-public членов классов
От: Сray  
Дата: 22.01.03 02:03
Оценка:
Предположим, что в неком заголовочном файле "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 если вопрос глупый
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.