c++ - 声明从抽象类继承的继承抽象方法是否有任何性能问题?

标签 c++ performance abstract-class

我有3个类(class)

class GrandParent
{
    virtual int GrandParentMethod() = 0;
};

class Parent : public GrandParent
{
    virtual int ParentMethod() = 0;
    virtual int GrandParentMethod() = 0;
};

class Child : public Parent
{
    int ParentMethod() { return 1; }
    int GrandParentMethod() { return 0; }
};

我的问题是:在 Parent 类中删除 GrandParentMethod 使得在一段时间后更容易实现 Child 类(只需要检查一个标题对于抽象方法),但它是否有任何性能(内存?cpu?)问题?

最佳答案

由于该方法是抽象的,因此对您的应用程序应该没有性能或 CPU 影响,尽管编译可能需要更长的时间,因为必须读取更多代码。

但请注意,这不是常见的惯用 C++ 做法,最终可能会让您的一些代码阅读者/维护者感到困惑。此外,通过在 Parent 级别重新声明它,如果 Grandparent 方法的签名发生变化,您还有一个地方可以更改(或冒着意外隐藏方法的风险) .

关于c++ - 声明从抽象类继承的继承抽象方法是否有任何性能问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19142488/

相关文章:

excel - 如何使用 VBA 将符号/图标格式化为单元格而不使用条件格式

PostgreSQL 查询非常慢,限制为 1

django - 在 Python 中使用 celery 调用类的实例方法

c++ - 如何强制在派生类上实现特定数据类型的构造函数?

c++ - 有什么方法可以用 C++ 以上标打印我的多项式指数吗?

c++ - 如何提高多相机设置的写入速度?

c# - XNA 性能下降 GameState 管理

java - 德尔福: Constructing Abstract Class like Java

c++ - C++ 二进制文件读取性能

c++ - 使用线程传递指针时出错