gpt4 book ai didi

c++ - 无需重复代码的继承

转载 作者:行者123 更新时间:2023-11-30 00:45:27 26 4
gpt4 key购买 nike

我有 4 个类(class),比方说:A 类、B 类、C 类和 D 类。

  1. B 类继承自 A 类。

  2. C类和D类继承自B类。

  3. A 类和 B 类是抽象类。

我想在类 A 中声明一个字段,假设 int position 并通过分配参数值 (int parameterValue) 添加到该字段。

是否有任何解决方案可以在不在所有后代类的构造函数中复制 position = parameterValue 行的情况下执行此操作?

最佳答案

您可能会使用继承的构造函数:

struct A
{
A(int position) : position(position) {}
virtual ~A() = default;

int position;
};

struct B : public A
{
using A::A;
};

struct C : public B
{
using B::B;
};

struct D : public B
{
using B::B;
};

Demo

关于c++ - 无需重复代码的继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43341371/

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