gpt4 book ai didi

c - 如何在标题中构造函数,在源代码中定义

转载 作者:行者123 更新时间:2023-12-04 04:45:12 25 4
gpt4 key购买 nike

我有一个这样的结构(我将 C struct 编码为 C++ class 来演示我的想法;但我正在使用 C。):

//This is a source file
typedef struct _MyType
{
void test() { printf("works!"); }
}MyType;

但我想这样定义我的结构:(那不起作用)
//This is a header file
typedef struct _MyType
{
void test();
}MyType;

//This is a source file
MyType::test() { printf("works!"); }

我已经尝试了更多的东西,但我不能再做一次。 (我想使用 structs 就像 classes )

如何在 C 中实现这种类似 OOP 的分离?

最佳答案

您不能在 struct 中定义函数在 C 编程中。

但是,您可以在 struct 中使用函数指针

像这样的东西:-

typedef struct{
void (*test)();
}MyType;


void test(MyType* self) { printf("works!"); }
int main()
{

MyType *m =malloc(sizeof(MyType));
m->test=test;
m->test(m);

free(m);
}

关于c - 如何在标题中构造函数,在源代码中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18303645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com