C语言实现简单的面向对象例子

来源:互联网 发布:外置光驱盒 mac 编辑:程序博客网 时间:2024/04/30 14:04

对于想做C语言大型项目开发同学,结合上篇C语言模块化编程,会有很大帮助。
实现方法:回调函数,结构体里保存函数指针,具体看下面的代码:

#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; } 
0 0