封装
c 语言使用的 struct 没有访问控制,任何程序都能访问 struct 的成员。为了隐藏 struct 里的成员名称和位置,可以将具体的 struct 定义放在 .c 文件中,而在头文件中增加一个指向该结构体的指针。因为无法得知指针类型的具体定义,对这个私有结构体成员的访问只能通过提供的 set() 和 get() 函数。
下面是头文件 test.h 的定义:
#ifndef __TEST_H__
#define __TEST_H__
struct test {
struct _test* t;
};
int test_constructor(struct test*);
int test_get(struct test*);
void test_set(struct test*,
… 阅读全文…