C++中关于类的定义中常对象定义后调用构造函数的问题?
在C++中定义类后,又在主函数中定义了一个常对象。首先,定义常对象的同时就要给对象赋初值,是吧?那么,在给对象赋初值时,调用的构造函数是和普通对象调用的构造函数一样的吗?...
在C++中定义类后,又在主函数中定义了一个常对象。首先,定义常对象的同时就要给对象赋初值,是吧?那么,在给对象赋初值时,调用的构造函数是和普通对象调用的构造函数一样的吗?最后,那个构造函数在赋初值时需要用初始化列表赋值吗,或者就是可以直接在构造函数体内进行初始化就行了?
谢谢! 展开
谢谢! 展开
2个回答
展开全部
常量对象必须初始化(从常量这个词的语义上去考虑)。也就是定义常对象的同时就要给对象赋初值,对象的初始化是通过构造函数完成的,如果构造函数不需要参数的话,那么可以不必显式调用,如果对象初始化时要求有参数,要么必须传参。调用的构造函数与普通的对象一样。构造函数采不采用初始化列表,,跟赋值没有关系。初始化列表主要原因一是继承,初始化基类,二是效率,当然这个效率指的是当类中有类对象时,用初始化列表,可以减少函数调用,还有就是LS说的,因为常量只能被初始化,不能被赋值,作为类的成员只能在初始化列表中初始化。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |