原始问题:如何定义表示接口的类?
扩展答案: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() override { // Custom implementation } };
在此示例中,Parent 和 Child继承自 IDemo,Child 为 OverrideMe 函数提供了具体的实现。
请注意,虽然定义一个虚函数看起来不太常见作为内联,这种做法通常被认为是安全的并且有利于优化。
以上是如何用 C 语言定义和实现接口?的详细内容。更多信息请关注PHP中文网其他相关文章!