C++;:如果基类构造函数具有带有私有成员的初始化列表,如何在派生类内定义基类构造函数 我在C++库中有以下基类A: 在a.h头文件中: class A { private: double param1_; B* param2_; //Another library class void function(); public: A(); }
在相应的a.cpp源文件中,存在以下实现: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::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
的构造函数没有参数,那么就不要传入任何参数。