常量成员变量初始化
时间: 2023-07-23 18:06:08 浏览: 96
常量成员变量必须在构造函数的初始化列表中进行初始化,因为常量成员变量的值不能在构造函数内部修改。例如:
```c++
class MyClass {
public:
MyClass(int x, int y) : m_constMember(x), m_nonConstMember(y) {
// 构造函数代码
}
private:
const int m_constMember;
int m_nonConstMember;
};
```
在上面的例子中,`m_constMember` 是一个常量成员变量,`m_nonConstMember` 是一个非常量成员变量。在构造函数的初始化列表中,`m_constMember` 被初始化为 `x`,`m_nonConstMember` 被初始化为 `y`。注意,只有常量成员变量需要在构造函数的初始化列表中初始化,非常量成员变量可以在构造函数中初始化也可以在初始化列表中初始化。
相关问题
abstract不能修饰成员变量和成员常量
是的,abstract关键字只能用于抽象类和抽象方法上,不能用于成员变量和成员常量。成员变量和成员常量都必须有初始值或在构造函数中进行初始化,而抽象类是无法实例化的,因此不需要初始值。同时,抽象类中的抽象方法也不需要实现,而成员变量和成员常量是需要在实现类中被具体实现或初始化的。所以abstract不能修饰成员变量和成员常量。
阅读全文