union中的类对象不能有构造函数?这个问题怎么解决

2025-02-26 16:59:18
推荐回答(1个)
回答1:

常量对象必须初始化(从常量这个词的语义上去考虑)。也就是定义常对象的同时就要给对象赋初值,对象的初始化是通过构造函数完成的,如果构造函数不需要参数的话,那么可以不必显式调用,如果对象初始化时要求有参数,要么必须传参。调用的构造函数与普通的对象一样。构造函数采不采用初始化列表,,跟赋值没有关系。初始化列表主要原因一是继承,初始化基类,二是效率,当然这个效率指的是当类中有类对象时,用初始化列表,可以减少函数调用,还有就是LS说的,因为常量只能被初始化,不能被赋值,作为类的成员只能在初始化列表中初始化。