【发布时间】:2012-09-23 05:20:03
【问题描述】:
可能重复:
Code convert from C++ to C
Converting a C++ class to a C struct (and beyond)
我曾经是一名 C++ 程序员,但现在我需要用 C 编写程序。 例如在 C++ 中
Main.cpp
=====================
int main
{
ns::Sum sum(1, 2);
}
Sum.h
=====================
namespace ns
{
class Sum
{
public:
Sum(int a, int b);
private:
void AddThemUp();
int a;
int b;
}
}
Sum.cpp
======================
namespace ns
{
Sum::Sum(int a, int b)
{
this->a = a;
this->b = b;
AddThemUp();
}
void Sum::AddThemUp()
{
a + b;//stupid for returning nothing, just for instance
}
}
那是在 C++ 中 我不知道如何把上面放在 C. 因为那里没有类。 如果我在头文件中声明数据成员 a & b,它们将成为全局变量。 我不喜欢全局变量。 C中有命名空间吗? 谁能帮忙?谢谢
【问题讨论】:
-
C 有可以使用的结构和函数指针。
-
C 中的所有函数都是全局的?对所有人公开?
-
@MPvaliantboy:是的。除非您在标头中声明它们并将它们设为
static(就像在 C++ 中一样)。 -
另一个包含许多有用提示的讨论:stackoverflow.com/questions/737257/code-convert-from-c-to-c
-
最优雅的方式是将代码发布到 StackOverflow 上,;)