可能重复全局函数静态方法:
Namespace + functions versus static methods on a classC++:VS VS命名空间VS
哪里是写,例如最明智的办法,一个函数,看起来像
Point intersection(const Line &L1, const Line &L2);
(假设我已经写了类Point
和Line
)?
也许我可以使这个问题更确切的一点:我正在考虑以下选项:
- 写全局函数(在line.h宣布,它在line.cpp写)
- 编写该类的静态方法
Line
- 使用命名空间。
- 写,而不是一个功能
Point Line::intersection(const Line & otherLine);
我是最后一个选项不是一个球迷,因为我不希望我的功能是“非对称”(我有这样的功能的其他几个例子在我的代码)。目前它们是全球性的功能(如选项1),但我明白这不是“良好的做法”。至于静态方法和命名空间,我还不熟悉这些,所以我不确定。
您认为什么是“最佳”设计?
感谢您的见解!
编辑:给你一个我的项目规模的想法:50到100个班。
另一种方法是去与#2,但反转的类。取决于你的设计。 Point Line :: intersection(const Line &L2); // L1是你打电话给 – MichaelH
的线对象谢谢,我想我可能会使用静态函数然后 – Seub