在 C 中实现接口
问题:
如何在 C 中创建表示接口的类?它只是一个抽象基类吗?
答案:
除了前面受访者介绍的用于定义接口的纯虚拟方法的概念之外,还可以考虑添加一个虚拟方法混合析构函数。这使您能够将指针的所有权传递给另一方,同时隐藏底层的具体派生类。虽然违反直觉,但将函数声明为虚拟函数和内联函数是允许的。
class IDemo { public: virtual ~IDemo() {} virtual void OverrideMe() = 0; }; class Parent { public: virtual ~Parent(); }; class Child : public Parent, public IDemo { public: virtual void OverrideMe() { // Implementation details } };
请注意,显式析构函数体是可选的。一些编译器在优化空析构函数方面遇到了困难,因此通常最好依赖默认实现。
以上是如何使用抽象基类和虚拟析构函数在 C 中实现接口?的详细内容。更多信息请关注PHP中文网其他相关文章!