非常函数能不能调研常数据成员
时间: 2023-04-07 18:00:42 浏览: 83
非常函数是指在函数声明和定义中都使用了关键字const的成员函数,它们不会修改对象的状态。常数据成员是指在类中声明时使用了关键字const的数据成员,它们的值在对象创建后就不能被修改。因此,非常函数可以访问常数据成员,但不能修改它们的值。所以,非常函数可以调用常数据成员。
相关问题
const 类成员函数不能修改类数据成员
是的,const 类成员函数被称为常量成员函数,它不能修改类的数据成员,也不能调用非 const 成员函数,以保证对象在调用这个函数时不被修改。如果在 const 成员函数中对数据成员进行修改操作,编译器会报错。常量成员函数的声明格式为在函数声明末尾加上 const 关键字。例如:
```
class MyClass {
public:
void myFunc() const;
};
void MyClass::myFunc() const {
// 不能修改数据成员
// 或调用非 const 成员函数
}
```
void成员函数能改变成员数据吗
可以。使用void成员函数可以修改成员数据。void类型的函数可以执行任何操作,包括修改类的成员数据。例如:
```
class MyClass {
public:
void changeData() {
data = 10;
}
private:
int data;
};
```
在这个示例中,`changeData()`函数将类的私有成员变量`data`设置为10。