在C中编写面向对象的代码

时间:2016-07-27 21:17:56

标签: c oop

对于如何在OOP样式C中实现简单的实体层次结构感到困惑。例如,这里是等效的C ++代码:

class Entity {
protected:
    float x, y;

    Entity(float x, float y) : x(x), y(y) { }

    virtual void update() = 0;
    virtual void render() = 0;
    virtual ~Entity() { }
};

class Player : public Entity {
    Player(float x, float y) : Entity(x, y) { } 

    void update() {

    }

    void render() {

    }
};

所以现在我有一个结构实体,它有两个指向更新和渲染函数的函数指针。然后我会有一个Player结构,它有一个指向Entity结构的指针,因此它可以访问成员。 我有点困惑的一件事是分配如何工作......我是否有一个new_entity函数可能会分配实体结构?我可以使用new_player函数来分配实体ptr,并返回Player结构,并将函数设置为指向player_update,play_render函数等吗?

0 个答案:

没有答案