判断正误,c++在类的成员函数说明后可以加const关键字,则此成员函数为常成员函数
时间: 2023-07-16 13:12:04 浏览: 113
正确。在C++中,如果在成员函数的参数列表后面加上`const`关键字,则表示该函数为常成员函数。常成员函数不能修改类的数据成员,只能访问它们或调用其他常成员函数。常成员函数在实现时也需要加上`const`关键字。例如:
```c++
class A {
public:
void func() const; // 常成员函数声明
};
void A::func() const {
// 常成员函数实现
}
```
相关问题
C++ const关键字
C++中的const关键字用于常量,即不可修改的值。使用const关键字可以将变量声明为只读,防止其被修改。const关键字可以用于变量、函数参数、函数返回值以及类成员函数。
1. 对于变量,使用const关键字可以声明一个常量,其值在初始化后不能再被修改。例如:
```
const int MAX_VALUE = 100;
```
2. 对于函数参数,使用const关键字可以指定参数为只读,防止函数内部修改参数的值。例如:
```
void printValue(const int value);
```
3. 对于函数返回值,使用const关键字可以指定返回值为只读,防止外部修改返回值。例如:
```
const int getValue();
```
4. 对于类成员函数,使用const关键字可以指定该函数不会修改类的成员变量。这样的成员函数被称为常量成员函数。例如:
```
class MyClass {
public:
int getValue() const;
};
```
常量的使用可以提高代码的可读性和安全性,同时也可以优化编译器的优化能力。
判断正误,c++常成员函数可以被常对象和非常对象调用
判断正确。C++中的常成员函数可以被常对象和非常对象调用,但是在常成员函数中不能修改对象的非常属性。常成员函数可以通过在函数声明后加上const关键字来定义,例如:
```c++
class MyClass {
public:
void foo() const; // 常成员函数声明
};
void MyClass::foo() const { // 常成员函数定义
// 可以访问对象的属性,但不能修改非常属性
}
```
在常成员函数内部,使用this指针访问对象的属性时,实际上是一个指向常对象的指针,因此不能通过this指针修改对象的非常属性。
阅读全文