【C++】 --- C++函数后面加const修饰符

简介: 【C++】 --- C++函数后面加const修饰符

C++函数后面的const,可以从下面两个方面进行理解:

  1. 申明一个成员函数的时候用const关键字是用来说明这个函数是 “只读(read-only)”函数,也就是说明这个函数不会修改任何数据成员,除非成员加了修改mutable或者你在函数中主动使用了const_cast!
  2. 为了声明一个const成员函数, 把const关键字放在函数括号的后面。声明和定义的时候都应该放const关键字。

下面看具体的示例:

#include<iostream>
using namespace std;
class temp
{
public:
    temp(int age);
    int getAge() const;
    void setNum(int num);
private:
    int age;
};
temp::temp(int age)
{
    this->age = age;
}
int temp::getAge() const
{
    age+=10; // #Error...error C2166: l-value specifies const object #
         // 1> 如果前面的成员定义int age 改为mutable int age;就可以编译通过
         // 2> 也可以使用const_cast强行删除const属性。 const_cast<temp *>(this)->age += 10;
    return age;
}
void main()
{
    temp a(22);
    cout << "age= " << a.getAge() << endl;
}
目录
相关文章
|
3天前
|
存储 Serverless 数据安全/隐私保护
C++ 类的成员函数和数据成员的技术性探讨
C++ 类的成员函数和数据成员的技术性探讨
11 0
|
6天前
|
算法 C语言 容器
从C语言到C++_18(stack和queue的常用函数+相关练习)力扣(上)
从C语言到C++_18(stack和queue的常用函数+相关练习)力扣
17 0
|
3天前
|
数据安全/隐私保护 C++
C++中的虚函数、纯虚函数与函数重写的技术性探讨
C++中的虚函数、纯虚函数与函数重写的技术性探讨
13 0
|
3天前
|
编译器 C++
C++中的内联函数与const限定词的使用
C++中的内联函数与const限定词的使用
12 1
|
3天前
|
存储 算法 C++
C++中的函数深入解析
C++中的函数深入解析
13 2
|
6天前
|
存储 前端开发 算法
从C语言到C++_18(stack和queue的常用函数+相关练习)力扣(下)
从C语言到C++_18(stack和queue的常用函数+相关练习)力扣
5 0
|
6天前
|
存储 C语言
从C语言到C++_18(stack和queue的常用函数+相关练习)力扣(中)
从C语言到C++_18(stack和queue的常用函数+相关练习)力扣
15 0
|
6天前
|
存储 算法 C语言
从C语言到C++_16(list的介绍和常用接口函数)
从C语言到C++_16(list的介绍和常用接口函数)
3 0
|
6天前
|
存储 算法 C语言
从C语言到C++_14(vector的常用函数+相关选择题和OJ题)(下)
从C语言到C++_14(vector的常用函数+相关选择题和OJ题)
13 0
|
6天前
|
算法 C语言 C++
从C语言到C++_14(vector的常用函数+相关选择题和OJ题)(中)
从C语言到C++_14(vector的常用函数+相关选择题和OJ题)
12 1