Welcome 微信登录

首页 / 操作系统 / Linux / 在C中用struct实现C++中class的函数声明和定义

原先对C中的struct理解只局限在数据结构体上,看了部分Linux内核代码发现struct用处很多,功能很强大,可以在C环境下实现几乎所有C++中class的用处,我写了一个很简单的一个例子:
#include<stdio.h>struct MyClass
{
        char* name;
        int age;
        void (*funnull) ();
        void (*func) (struct MyClass mc);
};void realfunnull()
{
        printf("hello world! ");
}void realfunc(struct MyClass mc)
{
        printf("MyClass&apos;s name is:%s ",mc.name);
        printf("MyClass&apos;s age is:%d ",mc.age);
}int main()
{
        struct MyClass mc = {"Simon", 25, realfunnull, realfunc};
        mc.funnull();
        mc.func(mc);
        return 0;
}