相关疑难解决方法(0)

私有纯虚函数有什么意义?

我在头文件中遇到了以下代码:

class Engine
{
public:
    void SetState( int var, bool val );
    {   SetStateBool( int var, bool val ); }

    void SetState( int var, int val );
    {   SetStateInt( int var, int val ); }
private:
    virtual void SetStateBool(int var, bool val ) = 0;    
    virtual void SetStateInt(int var, int val ) = 0;    
};
Run Code Online (Sandbox Code Playgroud)

对我来说,这意味着Engine从它派生的类或类必须为那些纯虚函数提供实现.但我不认为派生类可以访问这些私有函数以重新实现它们 - 那么为什么要将它们变为虚拟?

c++ oop inheritance non-virtual-interface

133
推荐指数
3
解决办法
4万
查看次数

标签 统计

c++ ×1

inheritance ×1

non-virtual-interface ×1

oop ×1