gpt4 book ai didi

c++ - 将继承的类传递给 C++ 中的函数

转载 作者:搜寻专家 更新时间:2023-10-31 00:19:06 24 4
gpt4 key购买 nike

我在 C++ 中遇到了一个我不太明白的继承问题。

所以,假设我有一些从 STL 列表派生的类,即:

class Class1: public list<T>{
virtual func1();

}

class Class2 : public Class1<w/e>{
func1();
}

我遇到的问题是将它们传递给函数时。我怎样才能正确地将其中一个实例传递给函数,以便在可以传递任何一种类型的实例时使用正确的虚函数?我有一段时间没有做过继承和虚函数,所以我在这里有点生疏。(这假设该函数不是类的成员函数)。

最佳答案

您需要将它们作为引用传递给函数

int function(Class1& obj);

或者作为一个指针;

int function(Class1* obj);

它应该直接调用正确版本的虚拟方法。

如果你在没有任何一个的情况下通过了它们

int function(Class1 obj);

对象将被复制构造为在函数中始终是 Class1,并且将始终调用 Class1::func1()

关于c++ - 将继承的类传递给 C++ 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8963967/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com