所以我有一个包含向量实现的头文件和源文件。我想使用向量来实现堆。所以我意识到我希望我的函数特定于类,所以我将每个函数声明为静态思考我可以做Vector :: get(int n,Vector :: Vector * vector)但显然::不是运算符C和静态只是让事情变得私密。任何人都可以帮助我理解如何进行正确的封装,而不是命名我所有的函数Heap_get或Vector_get吗?
答案 0 :(得分:3)
C ++有名称空间和类说明符来区分这类,但在C语言中,名称必须是唯一的。
简单地为您的代码使用(通常很短的)前缀是一个历史悠久的传统,并且希望您永远不必整合使用相同前缀的其他人的代码。
所以像vecGet()
或heapCreate()
这样的名称与完全的方式完全相同。
现在你可以做 polymorphism in C但是你可能会做的事情有点过分。