gpt4 book ai didi

c++ - 向多态对象添加行为

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:33:29 24 4
gpt4 key购买 nike

假设我们有以下内容:

abstract class A;

class B : public A;
class C : public A;
....

class Main;

Main 类是利用 A、B 和 C 的类。
我们在 Main 类中有以下代码:

A obj;
....
for(i = 0; i< count; ++i)
{
obj->Abstract_Function_In_A();
}

我想更改 A 类 中的 Abstract_Function_In_A() 以获取参数。
问题是,在基类中添加任何新函数意味着
我必须在所有子类中实现新功能,即使有些子类不使用它们。

否则,调用时可能无法按预期工作。

有谁知道解决它的方法,这样我就可以添加新函数而不必在所有子类中定义它们?

最佳答案

听起来您不希望类 A 是抽象的,只需在类 A 中定义“默认”函数(实现和接口(interface))。在继承树的下方覆盖此函数的类将获得其特定的行为和类没有获得默认值。

关于c++ - 向多态对象添加行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8996925/

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