C++;:如果基类构造函数具有带有私有成员的初始化列表,如何在派生类内定义基类构造函数 我在C++库中有以下基类A: 在a.h头文件中: class A { private: double param1_; B* param2_; //Another library class void function(); public: A(); }

C++;:如果基类构造函数具有带有私有成员的初始化列表,如何在派生类内定义基类构造函数 我在C++库中有以下基类A: 在a.h头文件中: class A { private: double param1_; B* param2_; //Another library class void function(); public: A(); },c++,inheritance,C++,Inheritance,在相应的a.cpp源文件中,存在以下实现: A::A() : param1_(1.0), param2_(NULL) { function(); } void A::function(){ some code } 我想创建一个继承类a的类B,并在派生类B的构造函数中隐式定义类a的构造函数。我对类a构造函数实现中的初始化列表有点困惑。我写道: 在b.h.中: class B:: public A{ public B(); } 我应该如何在b.cpp文件中的中定义

在相应的a.cpp源文件中,存在以下实现:

A::A() :
  param1_(1.0),
  param2_(NULL)
  {
  function();
  }

void A::function(){

    some code
}
我想创建一个继承类a的类B,并在派生类B的构造函数中隐式定义类a的构造函数。我对类a构造函数实现中的初始化列表有点困惑。我写道:

在b.h.中:

class B:: public A{
public B();
}
我应该如何在b.cpp文件中的中定义基类构造函数

还有,既然基类私有函数在构造函数中调用,我应该如何在派生类构造函数中隐式定义基类构造函数?

B.h

class B: public A{
public:
 B();
}
B.cpp

B::B() : A(parameters) {}

public B()无效语法。它不起作用,产生以下错误:A::A()A();候选人需要0个参数,2个provided@juls是的,如果
A
的构造函数没有参数,那么就不要传入任何参数。