Alo*_*ave 10
是的,你可以这样做,你可以像c这样的过程语言模拟继承和多态等OOP概念.
既然你要求代码示例,这里有一个:
要模拟继承,您需要的是结构的第一个成员是超类的实例,然后您可以像C++继承一样转换指向基类和派生类的指针.
struct BaseClass
{
//...
};
struct DerivedClass
{
struct BaseClass super;
//....
};
struct DerivedClass d;
//UpCasting example
struct BaseClass *base_ptr = (struct BaseClass *)&d;
//Downclasting Example
struct DerivedClass *derived_ptr = (struct DerivedClass *)base_ptr;
Run Code Online (Sandbox Code Playgroud)
当然,如果你真的需要OOP,你应该使用OOP语言,而不是以这种方式玩游戏.