Иногда все зависит от IDE или среды, в которой вы разрабатываете код.Обычно
/source-tree
/bin -------> executables or lib or dlls
/h -------> headers
/source -------> source codes
/Makefile -------> The root make file
Теперь о структуре кода, это зависит от того, что вы разрабатываете.Если некоторые API для какого-либо контейнера данных, который будет использоваться в разных модулях, это что-то вроде, -
Заголовочные файлы ------->
//ICoordinate.hpp
template <class T>
class ICoordinate
{
public:
virtual ~ICoordinate() {}
virtual void SetX(T ) = 0;
virtual void SetY(T ) = 0;
virtual T GetX(void) = 0;
};
// Co-ordinate system for ploting decimal points :-)
// class template specialization.
template <>
class ICoordinate<int>
{
public:
virtual ~ICoordinate() {}
void SetX(int );
void SetY(int );
private:
int x,y;
};
Исходный файл --------->
// DecimalCoordinate.cpp
// Implementation for DecimalCoordinate
Если у вас нет проблем с задержкой поиска в vtable, вы всегда можете определить некоторые чисто виртуальные методы (именно то, что я сделал здесь).Есть пост по поводу интерфейса объявление .