C语言实现简单的面向对象代码实例
程序员文章站
2022-03-23 19:41:50
对于想做c语言大型项目开发同学,结合上篇c语言模块化,会有很大帮助。
实现方法:回调函数,结构体里保存函数指针,具体看下面的代码:
#include
//几个用...
对于想做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; }