[英]C++ reader function design: helper functions, class, private, over-engineering?
[英]C++ class design “helper functions”
我创建了一个创建邻接表(图论)的基本类。 我已经对深度优先搜索功能进行了编码,但是它的设计较差,目前长度为50行。 我试图减小尺寸并提高功能的可读性。
template <class T>
class adj_list
{
public:
void add_node (const T data);
void add_edge(const T first, const T second);
void remove_node (const T data);
void remove_edge(const T first, const T second);
void dfs(const T node, const T lookfor);
void print_list() const;
private:
std::map<T, std::set<T>> graph;
};
因此,我将需要有2-3个“帮助程序”(不确定如何称呼它们)函数,这些函数在dfs算法中完成特定的工作。 他们将不得不读取私有图,但不能对其进行修改。
我最好的选择只是将这些新的较小功能添加为公共成员吗? 我不希望用户使用这些功能。 最好的方法是什么?
我最好的选择只是将这些新的较小功能添加为公共成员吗? 我不希望用户使用这些功能。 最好的方法是什么?
将他们添加为私人成员。
如果要在类之外调用这些方法,则需要将它们定义为public
,并且由于您不打算更改私有成员,您也可以将它们定义为public static
。
如果只从类的其他方法调用这些方法,则应将它们声明为private
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.