c - C 中的点表示法?

标签 c oop

是否可以像 Python 一样在 C (OOP) 中实现点表示法?

类似于:

struct myClass {
    ...
    ...
}

然后在该结构上有一个方法,例如:

myClass.someMethod();

最佳答案

是的,someMethod() 将是一个函数指针:

#include <stdio.h>

typedef struct
{
    void (*someMethod) (void);

}Test;

void asd (void)
{
    printf("works");
}

int main(void)
{
    Test test;
    test.someMethod = asd;
    test.someMethod(); // will print works
}

关于c - C 中的点表示法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50373748/

相关文章:

c - 在 gcc 中初始化数组,未定义对 `memcpy' 的引用

c - 如何将 C 指针递增 2

c++ - 另一个 undefined reference 错误

PHP OOP - Php 对象扩展 Mysql 对象 = 多个 Mysql 连接?

c - Pthread代码运行时中途崩溃

c - 用 Python/C API 替换 boost:python 函数包装器后的 std::bad_alloc

关于 NaN 和 +/- Infinity 的编译器行为

c# - 不可变与可变 C#

python - 过度使用 mixin 是邪恶的,有哪些替代解决方案?

.net - 我可以使用 VB.NET 覆盖类中声明的变量吗?