gpt4 book ai didi

c++ - 是否可以在具有不同返回类型的不同类中使用类似的成员?

转载 作者:行者123 更新时间:2023-11-28 04:14:48 24 4
gpt4 key购买 nike

如果定义了一个类 multiA 持有类 A 实例的 vector ,有没有办法让 multiA “继承”(因为缺少更好的术语)A 的所有公共(public)成员函数,返回一个带有输出的 std::vector

#include <vector>

class A {
public:
A();
float member1();
float member2();
// ...
};

class multiA {
public:
multiA();

// ...
// std::vector<float> member1();

protected:
std::vector<A> data;
};

我知道我可以在 multiA 中定义一个类似的成员函数,但是如果 A 的任何成员被重写,我将需要更改它,并且更通用的方法是也许允许我使用 multiA 作为多个类的模板?我想知道是否有办法根据 A“自动”为 multiA 创建成员并更改它们的返回类型。

最佳答案

这对于普通的 C++ 是不可能的。也许如果你使用一些强大的宏魔法,就可以为甚至可能的类型自动执行此操作,但你需要为此付出的努力几乎永远不值得。
请注意,您首先需要在 A 上定义所有可能的操作。还要在 std::vector<A> 上实现,这已经很难实现自动化。

关于c++ - 是否可以在具有不同返回类型的不同类中使用类似的成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56914814/

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