C++ 有没有一种方法可以调用C+中基类函数的所有子类+;?

C++ 有没有一种方法可以调用C+中基类函数的所有子类+;?,c++,performance,C++,Performance,我的应用程序中有很多场景都包含相同的函数,比如Update()Render()Initialise()。我刚才所做的是声明所有场景并单独调用所有函数。有没有一种方法可以使这些场景从基类派生,我可以在基类上调用Update(),而基类将调用从该类派生的所有更新函数 干杯。将子对象推到容器中,这样派生的成员函数就可以像这样集体调用: class base { public: virtual void Update() = 0; }; class A: public base { public:

我的应用程序中有很多场景都包含相同的函数,比如Update()Render()Initialise()。我刚才所做的是声明所有场景并单独调用所有函数。有没有一种方法可以使这些场景从基类派生,我可以在基类上调用Update(),而基类将调用从该类派生的所有更新函数


干杯。

将子对象推到容器中,这样派生的成员函数就可以像这样集体调用:

class base {
public: virtual void Update() = 0;
};

class A: public base {
public:  void Update() {}
};

class B : public base {
public:  void Update() {}
};

int main()
{
    vector<unique_ptr<base>> group;
    group.push_back(make_unique<base>(A()));
    group.push_back(make_unique<base>(B()));

    for (auto& e : group) {
        e.get()->Update(); // update all the objects
    }

}
类基{
public:virtual void Update()=0;
};
A类:公共基地{
public:void Update(){}
};
B类:公共基地{
public:void Update(){}
};
int main()
{
向量组;
组。向后推_(使_唯一(A());
组。向后推_(使_唯一(B());
对于(自动和电气:组){
e、 get()->Update();//更新所有对象
}
}

你应该给出你真正想要的代码示例。另请参见:。您最好在代码审阅时使用代码示例询问此问题。不是堆栈溢出。我在“不清楚你在问什么”和“太宽”之间犹豫是否要结束投票。你可以制作一个场景图,并在更新方法中为每个孩子调用更新函数。据我所知,这种方法非常流行,并在cocos2dx引擎中使用。注意:这不是对您原始问题的回答,因为您没有明确场景之间的关系。请就代码写几句话。没有解释的代码不太有用。