c语言结构体实现类似c++类构造函数

xiaoxiao2021-02-28  157

这两天看了一下函数指针,就实现了一下用结构体实现类似于类定义的功能。 #include <stdio.h> typedef struct demo {  int i;  int j;  int (*geti)(struct demo *it);  int (*getj)(struct demo *it);  void (*set)(struct demo *it, int i, int j);  int(*max) (struct demo *it); }Demo; int geti(struct demo *it) {  return it->i; } int getj(struct demo *it) {  return it->j; } int max(struct demo *it) {  return (it->i > it->j ? it->i : it->j); } void set(struct demo *it, int i, int j) {  it->i = i;  it->j = j; } int main() {  Demo d;    d.set = set;  d.max = max;  d.geti = geti;  d.getj = getj;    d.set(&d, 3, 4);  printf("max=%d\n", d.max(&d));  printf("i = %d\n", d.geti(&d));  printf("i = %d\n", d.getj(&d));  getchar();    return 0; }
转载请注明原文地址: https://www.6miu.com/read-24358.html

最新回复(0)