C支持基础课?

时间:2012-12-07 14:34:33

标签: c class

  

可能重复:
  Can you write object oriented code in C?

C是否支持没有多态,继承等的简单类?

我只需要定义类和方法。

3 个答案:

答案 0 :(得分:6)

C本身没有阶级概念。

然而,可以实现类似的东西:

struct stuff {
    void (*do_it)(void);
    void (*close)(void);
};

struct stuff new(void) {
    struct stuff ret;
    ret.do_it = ...;
    ret.close = ...;
    return ret;
}


int main() {
    struct stuff s = new();
    s.do_it();
    s.close();
}

答案 1 :(得分:5)

您可以使用结构并在其中存储函数指针。

答案 2 :(得分:2)

C不是面向对象的。所以不行。但它支持structs