判断正误,c++在类的成员函数说明后可以加const关键字,则此成员函数为常成员函数
时间: 2023-07-16 18:12:04 浏览: 60
正确。在C++中,如果在成员函数的参数列表后面加上`const`关键字,则表示该函数为常成员函数。常成员函数不能修改类的数据成员,只能访问它们或调用其他常成员函数。常成员函数在实现时也需要加上`const`关键字。例如:
```c++
class A {
public:
void func() const; // 常成员函数声明
};
void A::func() const {
// 常成员函数实现
}
```
相关问题
判断正误,c++常成员函数可以被常对象和非常对象调用
判断正确。C++中的常成员函数可以被常对象和非常对象调用,但是在常成员函数中不能修改对象的非常属性。常成员函数可以通过在函数声明后加上const关键字来定义,例如:
```c++
class MyClass {
public:
void foo() const; // 常成员函数声明
};
void MyClass::foo() const { // 常成员函数定义
// 可以访问对象的属性,但不能修改非常属性
}
```
在常成员函数内部,使用this指针访问对象的属性时,实际上是一个指向常对象的指针,因此不能通过this指针修改对象的非常属性。
c++里的类成员函数const
在 C++ 中,类成员函数可以被声明为 const。这意味着该函数不会修改任何类成员变量的值。
例如:
```cpp
class MyClass {
public:
int getValue() const;
private:
int value;
};
int MyClass::getValue() const {
return value;
}
```
在上面的例子中,`getValue()` 函数被声明为 const,因为它不会修改 `MyClass` 中的任何成员变量。在函数的定义中,const 关键字必须在函数名称后面,紧跟着函数的参数列表。
当一个 const 成员函数被调用时,编译器会在函数名后面自动添加 const 限定符,以确保该函数不会修改任何成员变量。
例如:
```cpp
MyClass obj;
int value = obj.getValue();
```
在上面的例子中,`getValue()` 函数被调用时,编译器会自动添加 const 限定符,以确保该函数不会修改任何成员变量的值。