В настоящее время я создаю набор общих функций (реализации алгоритма поиска) и думаю, что неправильно делаю группировку.На данный момент у меня есть класс Sorting, который объявлен в файле с именем Sorting.h (кстати, он еще далеко не закончен, кстати):
#ifndef SORTING_H
#define SORTING_H
#include <vector>
class Sorting {
private:
Sorting();
Sorting(const Sorting& orig);
virtual ~Sorting();
public:
static void bubbleSort(std::vector<int>& A);
// etc
};
#endif /* SORTING_H */
Теперь, поскольку конструктор является закрытым,пользователь не может создать экземпляр моего класса - он просто является держателем статических функций, которые пользователь может вызывать.Однако из того, что я читал о C ++ до сих пор - и из просмотра библиотек STL и т. Д. - я думаю, что я делаю это неправильно.Должен ли я вместо этого иметь пространство имен с именем «Сортировка» или что-то в этом роде?Если да, то как выглядит мой заголовочный файл (тот, который будет включать пользователь)?И придется ли мне менять структуру остальных файлов?На данный момент каждый набор алгоритмов находится в своем собственном файле cpp (т.е. BubbleSort.cpp, CocktailSort.cpp и т. Д.).
Извинения за то, что может быть повторяющимся вопросом - я действительно искал C ++ и пространство имен, ноЯ получил очень общие вопросы о пространствах имен, и ни одна из этих проблем не казалась такой.