gpt4 book ai didi

c++ - 调用父类(super class)构造函数的规则是什么?

转载 作者:行者123 更新时间:2023-12-02 10:34:36 24 4
gpt4 key购买 nike

从子类调用父类(super class)构造函数的C++规则是什么?

例如,我知道在Java中,您必须作为子类构造函数的第一行来执行此操作(如果不这样做,则假定对no-arg super 构造函数进行隐式调用-如果缺少该函数,则会产生编译错误) 。

最佳答案

如果没有参数,则将自动为您调用基类构造函数。如果要使用参数调用父类(super class)构造函数,则必须使用子类的构造函数初始化列表。与Java不同,C++支持多重继承(无论好坏),因此必须使用名称而不是“super()”来引用基类。

class SuperClass
{
public:

SuperClass(int foo)
{
// do something with foo
}
};

class SubClass : public SuperClass
{
public:

SubClass(int foo, int bar)
: SuperClass(foo) // Call the superclass constructor in the subclass' initialization list.
{
// do something with bar
}
};

有关构造函数的初始化列表 herehere的更多信息。

关于c++ - 调用父类(super class)构造函数的规则是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60960854/

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