[英]Initializing class object inside the other class constructor
我有一个班级,它的名字叫A,而一个班级有3个私人班级。
class A{
public:
A();
A(int num);
A(C& mC, P& mP, M& mM, int num);
//there is a getter and setter for all member this only one example(please check are they right?)
M getM()const{return pM;}
void setM(M classM){ pM = classM ;}
private:
C& pC;
P& pP;
M& pM;
int digit= 0;
};
我在参数结构中这样做:
A::A(C& mC, P& mP, M& mM, int num):pC(mc),pP(mP),pM(mM)
{
// doing someting here
}
但是,当我写一些对我说的编译器时,我无法为默认和第一个参数构造编写代码:
错误:“类A&”中未初始化的引用成员[-fpermissive] A :: A(){
和
注意:“ A&A :: pP”应初始化为A&pP;
这样的东西,一些错误和注释。
我该怎么办? 如何在默认和第一个参数构造中初始化类?
类A
包含对其他对象的引用 。 与指针不同,引用不能为空。 要使其工作,您要么需要:
nullptr
,因为构造函数中未提供有效的对象
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.