将继承的参数传递给基类构造函数,然后在派生类构造函数中执行某些操作

西蒙

考虑以下:

Child从另一个班级派生一个班级ParentParent有很多重载的构造函数。Child类并不需要任何建造更多的参数。但是,一旦基类构造函数被调用,我想在对象构造过程中做更多的事情。

所以我的问题是:使用Modern C ++,我可以编写一个构造函数来接受所有重载基类构造函数所接受的所有参数,然后将它们转发给相应的参数吗?

明确的说:据我所知,我知道using Parent::Parent语法,但这不会给我机会在调用基类构造函数之后做任何事情。

我在SO上和Internet的深处进行了搜索,但是找不到类似的东西,即使在我看来这是一个相当普遍的用例。任何帮助将非常感激。

内森·奥利弗

一种实现方法是在派生类中创建可变参数模板构造函数,该构造函数将其所有参数传递给基类。然后,您可以在该构造函数的主体中执行任何所需的其他操作。看起来像

struct Base
{
    Base (int) {}
    Base(int, int) {}
    //...
};

struct Derived : Base
{
    template<typename... Args>
    Derived(Args&&... args) : Base(std::forward<Args>(args)...) // <- forward all arguments to the base class
    {
        // additional stuff here
    }
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将非构造函数参数变量从派生类传递给基类构造函数会导致奇怪的行为

来自分类Dev

是否可以从派生类的默认构造函数将参数传递给基本构造函数?

来自分类Dev

是否可以从派生类的默认构造函数将参数传递给基本构造函数?

来自分类Dev

将派生类属性传递给Angular中的基类构造函数时出错

来自分类Dev

在派生构造函数中的某些代码块之后,在派生类中调用基类构造函数

来自分类Dev

从派生类构造函数调用基类构造函数

来自分类Dev

从派生类构造函数调用基类构造函数

来自分类Dev

Cython / Python / C ++-继承:将派生类作为参数传递给需要基类的函数

来自分类Dev

在派生类中无意基类构造函数“隐藏”

来自分类Dev

将继承的类构造函数参数传递给基本构造函数参数

来自分类Dev

将参数传递给基类构造函数C ++

来自分类Dev

将构造函数参数传递给Nunit基类

来自分类Dev

将参数传递给类构造函数

来自分类Dev

如何避免在C ++中的派生类中重复基类构造函数参数?

来自分类Dev

Java派生类中构造函数的执行顺序

来自分类Dev

将闭包捕获构造函数参数传递给基类构造函数

来自分类Dev

派生类中的重载构造函数

来自分类Dev

从基类构造函数调用派生类的成员函数

来自分类Dev

如何在Scala中从派生类辅助构造函数调用辅助基类构造函数?

来自分类Dev

如何在Scala中从派生类辅助构造函数调用辅助基类构造函数?

来自分类Dev

在派生类 C++ 的构造函数中调用基类的构造函数

来自分类Dev

如何将基本参数从重载的构造函数传递到派生类

来自分类Dev

从传递给构造函数的类作为模板参数继承

来自分类Dev

继承-实例化基类构造函数所需的派生类

来自分类Dev

将参数传递给超类构造函数,而不必在子类构造函数中重复

来自分类Dev

在声明派生类时调用基类的构造函数

来自分类Dev

从模板派生类调用模板基类的构造函数

来自分类Dev

派生类(构造函数有参数)和基类(构造函数不带参数)之间没有可行的转换

来自分类Dev

在派生类构造函数之后运行某些东西

Related 相关文章

  1. 1

    将非构造函数参数变量从派生类传递给基类构造函数会导致奇怪的行为

  2. 2

    是否可以从派生类的默认构造函数将参数传递给基本构造函数?

  3. 3

    是否可以从派生类的默认构造函数将参数传递给基本构造函数?

  4. 4

    将派生类属性传递给Angular中的基类构造函数时出错

  5. 5

    在派生构造函数中的某些代码块之后,在派生类中调用基类构造函数

  6. 6

    从派生类构造函数调用基类构造函数

  7. 7

    从派生类构造函数调用基类构造函数

  8. 8

    Cython / Python / C ++-继承:将派生类作为参数传递给需要基类的函数

  9. 9

    在派生类中无意基类构造函数“隐藏”

  10. 10

    将继承的类构造函数参数传递给基本构造函数参数

  11. 11

    将参数传递给基类构造函数C ++

  12. 12

    将构造函数参数传递给Nunit基类

  13. 13

    将参数传递给类构造函数

  14. 14

    如何避免在C ++中的派生类中重复基类构造函数参数?

  15. 15

    Java派生类中构造函数的执行顺序

  16. 16

    将闭包捕获构造函数参数传递给基类构造函数

  17. 17

    派生类中的重载构造函数

  18. 18

    从基类构造函数调用派生类的成员函数

  19. 19

    如何在Scala中从派生类辅助构造函数调用辅助基类构造函数?

  20. 20

    如何在Scala中从派生类辅助构造函数调用辅助基类构造函数?

  21. 21

    在派生类 C++ 的构造函数中调用基类的构造函数

  22. 22

    如何将基本参数从重载的构造函数传递到派生类

  23. 23

    从传递给构造函数的类作为模板参数继承

  24. 24

    继承-实例化基类构造函数所需的派生类

  25. 25

    将参数传递给超类构造函数,而不必在子类构造函数中重复

  26. 26

    在声明派生类时调用基类的构造函数

  27. 27

    从模板派生类调用模板基类的构造函数

  28. 28

    派生类(构造函数有参数)和基类(构造函数不带参数)之间没有可行的转换

  29. 29

    在派生类构造函数之后运行某些东西

热门标签

归档