gpt4 book ai didi

c++ - 在不失去对其构造函数的访问的情况下稍微派生一个类

转载 作者:太空狗 更新时间:2023-10-29 20:25:08 24 4
gpt4 key购买 nike

假设我有一个很大的类,有很多功能和一个比较大的接口(interface)。特别是有很多方便实例化的构造函数。从这个类中,可以派生出几个具有一些稍微扩展的接口(interface)和/或自定义虚函数的类。

问题:我必须将所有构造函数复制到派生类中,这意味着大量代码重复。更糟糕的是:构造函数稍微依赖于派生类,我将通过虚拟调用解决这个问题,但这在构造函数中不起作用。

解决这个问题的好方法是什么?

编辑:我知道我可以委托(delegate)构造函数 Derived(arguments) : Base(arguments) {} 但我仍然需要复制我试图避免的部分构造函数。

最佳答案

使用 using 声明使基类的构造函数在派生类上可用:

class Base
{
public:
Base( int , int , int );
};

class Derived : public Base
{
public:
using Base::Base; //Automatically adds all the base constructors
};

编辑: Here是一个运行的例子。

关于c++ - 在不失去对其构造函数的访问的情况下稍微派生一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24755810/

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