IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C++类与对象: const修饰类成员 -> 正文阅读

[C++知识库]C++类与对象: const修饰类成员

const用处:

  1. 修饰普通变量(和宏常量对比)
  2. 修饰类成员(修饰成员函数和成员变量)
  3. 修饰对象

修饰成员变量:(后面补)

修饰成员函数:

修饰成员函数是修饰三处
const int test (const int a) const

  1. const修饰函数返回值:
    在接收时不能修改返回值

  2. const修饰函数参数:
    不能修改函数形参

  3. const修饰成员函数本身—const成员函数:
    本质是在修饰this的指向(所以不能修饰全局函数,全局函数中无this指针)

this指针的类型是 类类型* ;函数const修饰后指针类型变成:const 类类型* ;

不能通过this修改对象中成员变量的值;只能在该函数中读取不能修改

如果要在const函数中修改某个成员变量的值,则需要在定义成员变量前加关键字mutable

void test()//普通成员函数
{
	_day+=1;//正确
}

void test()const//const成员函数
{
	_day+=1;//错误
}
/*对编译器而言实质是这样的:
void test(const Date*this)
{
	const this->_day+=1;//错误
}*/

修饰对象:

  1. const对象(表明该对象中的成员变量不能被修改):
    不能调用普通成员函数(普通函数可会修改变量值),只能调用const函数,该函数返回值最好也用const修饰;

普通对象均可调用两种函数

  1. const成员函数:
    可以调用const成员函数,不能调用普通成员函数(内部可能会修改this指向);

普通成员函数均可调用两种函数

也就是说,普通类型调用范围更大

注:

  1. const只能修饰成员函数,不能修饰普通函数,因为普通函数没有this指针,而const实质是修饰this指针;
  2. 普通成员函数的this指针类型为(类类型* ,类类型* const,之前初识this指针时并未接触const);
    原因:普通成员函数this指针的指向不能修改,但是指向对象空间的内容可以修改
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 00:18:01  更:2021-07-14 00:18:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 12:24:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码