成员函数定义后面加const是什么意思

我们定义的类的成员函数中,常常有一些成员函数不改变类的数据成员,也就是说,这些函数是”只读”函数,而有一些函数要修改类数据成员的值。如果把不改变数据成员的函数都加上const关键字进行标识,显然,可提高程序的可读性。

一、成员函数定义后面加const的意思

我们定义的类的成员函数中,常常有一些成员函数不改变类的数据成员,也就是说,这些函数是”只读”函数,而有一些函数要修改类数据成员的值。如果把不改变数据成员的函数都加上const关键字进行标识,显然,可提高程序的可读性。

其实,它还能提高程序的可靠性,已定义成const的成员函数,一旦企图修改数据成员的值,则编译器按错误处理。

c++ 函数前面和后面 使用const 的作用:

前面使用const 表示返回值为const

后面加 const表示函数不可以修改class的成员 (仅为可读,不可写入)

二、成员函数定义是什么

CDC对象的成员函数进行所有的绘图。 它还为获取和设置绘图属性、映射,处理视点、窗口扩展、转换坐标,处理区域、剪贴、绘制直线及绘制简单椭圆和多边形等形状提供了成员函数。 另外还为绘制文本、处理字体,使用打印机跳转,滚动和播放元文件提供成员函数。

CDC类定义的是设备上下文对象的类。

CDC对象提供处理显示器或打印机等设备上下文的成员函数,以及处理与窗口客户区对应的显示上下文的成员。

通过CDC对象的成员函数进行所有的绘图。

类对设备上下文操作提供了成员函数,处理绘图工具。安全型图形设备接口(GDI)对象收集,以及处理颜色和调色板。

它还为获取和设置绘图属性、映射,处理视点、窗口扩展、转换坐标,处理区域、剪贴、绘制直线及绘制简单椭圆和多边形等形状提供了成员函数。

另外还为绘制文本、处理字体,使用打印机跳转,滚动和播放元文件提供成员函数。

使用CDC对象时要构造它,然后调用与它平等的、使用设备上下文的Windows函数的成员函数。

在Java中,也有成员函数这一名词,表示在某一个类中该类的函数(Java中也称方法),其实现某一功能。

延伸阅读

c++是什么

C++(c plus plus)是一种计算机高级程序设计语言,由C语言扩展升级而产生。

C++既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计。 C++几乎可以创建任何类型的程序:游戏、设备驱动程序、HPC、云、桌面、嵌入式和移动应用等。 甚至用于其他编程语言的库和编译器也使用C++编写。

C++拥有计算机运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

C++语言特点

  • 与C语言的兼容性

C++与C语言完全兼容,C语言的绝大部分内容可以直接用于C++的程序设计,用C语言编写的程序可以不加修改地用于C++。

  • 数据封装和数据隐藏

在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。

在面向对象的程序设计中,将数据和对该数据进行合法操作的函数封装在一起作为一个类的定义。对象被说明为具有一个给定类的变量。每个给定类的对象包含这个类所规定的若干私有成员、公有成员及保护成员。完好定义的类一旦建立,就可看成完全封装的实体,可以作为一个整体单元使用。类的实际内部工作隐藏起来,使用完好定义的类的用户不需要知道类的工作原理,只要知道如何使用它即可。

  • 支持继承和重用

在C++现有类的基础上可以声明新类型,这就是继承和重用的思想。通过继承和重用可以更有效地组织程序结构,明确类间关系,并且充分利用已有的类来完成更复杂、深入的开发。新定义的类为子类,成为派生类。它可以从父类那里继承所有非私有的属性和方法,作为自己的成员。

  • 多态性

采用多态性为每个类指定表现行为。多态性形成由父类和它们的子类组成的一个树型结构。在这个树中的每个子类可以接收一个或多个具有相同名字的消息。当一个消息被这个树中一个类的一个对象接收时,这个对象动态地决定给予子类对象的消息的某种用法。多态性的这一特性允许使用高级抽象。

继承性和多态性的组合,可以轻易地生成一系列虽然类似但独一无二的对象。由于继承性,这些对象共享许多相似的特征。由于多态性,一个对象可有独特的表现方式,而另一个对象有另一种表现方式。

文章标题:成员函数定义后面加const是什么意思,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/48830

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
E.ZE.Z站长
上一篇 2023年4月7日
下一篇 2023年4月7日

相关推荐

  • redis怎么高性能插入大量数据

    高性能插入大量数据到Redis中需要考虑以下步骤:1.使用批量命令;2.合理设置Redis的持久化策略;3.采用管道技术;4.进行合适的分片;5.根据硬件环境优化配置。首先,确保你选择了合适的Redis数据结构。选择适合您的应用需求的数据结构可以显著提高性能。例如,如果需要插入大量小数据块,Hash…

    2023年7月12日
    20100
  • 企业的预测分析包括哪些

    预测分析的基本内容主要包括1、销售预测;2、利润预测;3、成本预测;4、资金预测。销售预测是指,对未来特定时间内,全部产品或特定产品的销售数量与销售金额的估计。 1、销售预测 销售计划的中心任务之一就是销售预测,无论企业的规模大小、销售人员的多少,销售预测影响到包括计划、预算和销售额确定在内的销售管…

    2023年1月9日
    35400
  • 协程到底有什么用

    协程,又称微线程,纤程,协程是一种用户态的轻量级线程。线程的切换会保存到CPU的栈里,协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。 一、协程的定义 协程,又称微线程,纤程,协程是一种用户态的轻量级线程。 线程的切换…

    2023年7月28日
    12400
  • session与cookie的区别是什么

    session与cookie的区别在于以下几个方面:1、对象不同;2、存储数据大小不同;3、生命周期不同;4、存储位置不同;5、数据类型不同;6、安全性不同。其中,对象不同是指cookie是针对每个网站的信息,每个网站只能对应一个,而session是针对每个用户的,只有客户端才能访问。 一、对象不同…

    2023年3月8日
    24500
  • 敏捷开发中的冲刺计划如何进行

    敏捷开发中的冲刺计划的进行包括准备阶段、评估阶段、制定计划、确认计划、执行计划和评估成果。详细介绍:1、准备阶段,产品经理或产品所有者需要与利益相关者以及开发团队一起讨论,明确产品的愿景、目标、约束条件和潜在风险;2、评估阶段,产品经理或产品所有者需要与开发团队等,对产品或项目的需求进行评估,并确定每个迭代的开发任务;3、制定计划,需要根据评估结果等等。

    2023年10月20日
    7800
  • php如何运行代码

    在PHP中运行代码涉及几个关键步骤:1、安装PHP环境;2、编写PHP代码;3、使用命令行执行代码;4、使用内置Web服务器;5、使用集成开发环境(IDE)。PHP是一种服务器端脚本语言,广泛用于Web开发。本文将详细介绍如何在不同环境中运行PHP代码,包括使用内置Web服务器和集成开发环境(IDE…

    2023年8月16日
    24200
  • SSR/SSG/ISR/DPR都在做什么

    SSR服务器端渲染,将Vue、React、Angular等单页面应用在服务器端进行渲染。SSG静态站点生成,将网站预先生成为静态文件。ISR是增量静态再生,将某些需要更新的页面在后台进行重新生成。DPR是动态预渲染,将网站部分预渲染为静态网页,然后在用户访问时进行动态渲染。 SSR SSR指的是服务…

    2023年5月29日
    15000
  • 什么进度计划软件方便

    方便的进度计划软件有:一、PingCode;二、Worktile;三、Wrike;四、Smartsheet;五、Clarizen。PingCode 是国内2021年软件项目管理榜单排名名列前茅的项目管理软件(36氪发布),在软件项目管理方面它有着非常多其他软件都不具备的优势。 一、PingCode …

    2023年4月24日
    7600
  • 计算机的五种功能部件是什么

    计算机的五种功能部件:1、运算器;2、控制器;3、存储器;4、输入设备;5、输出设备。运算器是指,计算机中执行各种算术和逻辑运算操作的部件,操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作。 1、运算器 运算器:arithmetic unit,计算机中执行各种算…

    2023年1月9日
    26600
  • 知识库是什么及其在企业中的作用是什么

    知识库是一个组织化、存储和检索信息的系统,旨在帮助用户获取和理解特定领域的知识。它是一个集中管理和共享知识的平台,通常包含文档、文章、图表、多媒体文件等多种形式的信息。知识库在企业中的作用是:1、提高工作效率;2、促进团队协作;3、支持决策制定;4、培训和员工发展;5、保护知识产权;6、降低重复劳动;7、促进创新;8、适应快速变化的环境。

    2023年11月28日
    1600

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部