- 论坛徽章:
- 0
|
不知道是否在挖坟,我网上搜了下,似乎很多还是没有解释清楚,尤其是c的结构体和cpp的类。
可以找到这样的代码:
- #include <stdio.h>
- //几个用于测试的函数
- int max(int a, int b)
- {
- return a>b?a:b;
- }
- int min(int a, int b)
- {
- return a<b?a:b;
- }
- //结构体
- struct func
- {
- int (*max)(int, int);//函数指针
- int (*min)(int, int);
- };
- typedef struct func func; //添加别名
- void init(func *data)
- {
- data->max = max;//初始化函数指针
- data->min = min;
- }
- int main()
- {
- int a, b;
- func test;
-
- init(&test); //初始化,你可以说它是构造函数
-
- a = test.max(100, 215);
- b = test.min(64, 42);
-
- printf("result:\nmax: %d\nmin: %d\n", a, b);
- return 0;
- }
复制代码 我觉得我们完全有理由认为这样实现了oo,当然还可以通过结构体的拷贝实现继承。。至于多态和重载,都可以用参数判断的方式实现。
鄙人cpp学艺不精,多oo的理解也很粗鄙,还望赐教。。 |
|