在C语言中,我可以在头文件中声明一个结构和一些公共函数,而在源文件中可以将某些“私有”函数声明为静态。例如:
foo.h
typedef struct Foo {
...
} Foo;
void func1(Foo *foo);
foo.c
#include "foo.h"
static void func2(Foo *foo) {...}
void func1(Foo *foo) {...}
在这种情况下,func2
是内部链接的。 C ++类方法有可能吗?如果我写:
foo.hpp
struct Foo {:
void func1();
private:
void func2();
};
func2
仍将在外部链接。有没有办法使它内部保留在结构中?