我是C++的新手,来自C背景.
我目前正在开发一个C++项目,当我添加代码时,我经常发现自己要求我应该有一组帮助程序或为它们创建一个专用类.
对此有何建议?我可以看看是否有代码恢复元素,或者commonlaties然后创建一个类是有道理的.但是,如果一组辅助例程中的代码仅用于单个功能的专用任务,那么将它们放入类中会获得什么?
我意识到我的问题很抽象,可能含糊不清,但任何建议/最佳实践都会受到赞赏.
谢谢.
Fre*_*Foo 10
在进行面向对象编程时使用类,即当某种对象类型被操纵时,而不是在编写实用函数时.
更具体地说,在C中你有一个
typedef struct { /*...*/ } Foo;
Run Code Online (Sandbox Code Playgroud)
各种各样
Foo *make_foo();
void print_foo(FILE *, Foo const *);
// etc.
Run Code Online (Sandbox Code Playgroud)
你应该把Foo对象操作的函数放在一个class Foo.但是当你实现了一堆有用的数学运算时,它们只接受并返回浮点数,无论如何都要使它们成为独立函数,并考虑使用命名空间而不是类来将它们组合在一起.
关于C++的好处在于它不像Java那样强迫基于类的方法; 它不是每个问题领域的良好匹配.
这取决于功能.如果他们操纵一组共同的数据,那么将数据放在一个类中并使它们成为成员是有意义的.如果他们或多或少彼此独立,将他们放在一个班级实际上是误导; 它暗示了一种不存在的关系.
无论如何,当它们更合适时,不要害怕使用免费功能.