我有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/