gpt4 book ai didi

c++ - 将抽象参数传递给方法,为什么不呢?

转载 作者:太空狗 更新时间:2023-10-29 21:00:53 25 4
gpt4 key购买 nike

我已经编写了一个抽象类(带有 虚函数),我希望有一个方法接受一个这样的类作为参数。鉴于该类是抽象的,我明白我不能将抽象类传递给任何方法,但为什么我不能将抽象类的子类传递给该方法呢?如何指定参数应该是指定基类的任何子类?这一切都在 C++ 中。

最佳答案

您需要将参数指定为指针(或引用),例如Abstract * 而不是 Abstract。如果 Derived 继承自 Abstract,您可以在需要 Abstract * 时传递类型为 Derived * 的变量,但是当需要 Abstract 时,您通常不能传递 Derived 类型之一。

关于c++ - 将抽象参数传递给方法,为什么不呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20434948/

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