首页 > 解决方案 > 创建具有未知数量参数的虚函数

问题描述

我正在寻找一个用于确保所有继承类具有以下功能的虚拟类

Initialize()
IsInitialized()
Clear()

也许还有另一种方法,但据我所知,使用抽象类似乎是最好的选择。

问题是 Initialize() 并不总是具有相同的参数例如:


class baseObject
{
    virtual void Initialize(...) = 0; //Only want to ensure Initialize is implemented in the inheriting class but parameters may very
    virtual void Clear() = 0;
    virtual bool IsInitialized() = 0;
}

class triangle : public baseObject
{
    virtual void Initialize(double length1, double length2, double length3); //Three parameters
    virtual void Clear();
    vitrual bool IsInitialized();
    ...
}

class square : public baseObject
{
    virtual void Initialize(double baseLength, double baseHeight); //two parameters
    virtual void Clear();
    virtual bool IsInitialized();
    ...
}

etc...

标签: c++templatesvirtualabstract

解决方案


推荐阅读