1、常函数

常函数无法修改成员变量,除非这个成员变量用mutable修饰了。

#include <iostream>
using namespace std;class Person{
public:void change() const{//m_a = 100;    // 常函数无法修改成员变量m_b = 100;      // 除非这个成员变量用mutable修饰了}int m_a;mutable int m_b;
};void test(){Person p;p.change();
}int main() {test();return 0;
}

2、常对象

常对象无法修改成员变量,除非成员变量加了mutable修饰。常对象无法调用非常函数。

#include <iostream>
using namespace std;class Person{
public:Person(){}void change() const{}void func(){}int m_a;mutable int m_b;
};void test(){const Person p1;p1.change();//p1.m_a = 100; // 常对象无法修改成员变量p1.m_b = 100;   // 除非成员变量加了mutable修饰//p1.func(); // 常对象无法调用非常函数
}int main() {test();return 0;
}

C++语法(二十)常函数、常对象相关推荐

  1. C++ 常函数 常对象 初步

    1.常函数 如果不想让成员函数修改成员对象, 就将成员函数改为常函数, 成员函数的后面 加 const. 注意:必须在成员函数的声明和定义处同时加上 const 关键字 2. 常对象 比如 const ...

  2. 关卡二: JavaScript函数及对象

    前言 在 Java 语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在 Javascript 中,我们也可以定义自己的类,例如定义 User 类.Hashtable 类等等.         ...

  3. Java程序员从笨鸟到菜鸟之(二十九)javascript对象的创建和继承实现

    JavaScript对象的创建 JavaScript中定义对象的几种方式(JavaScript中没有类的概念,只有对象): 1) 基于已有对象扩充其属性和方法:  [html] view plainc ...

  4. 漫步数理统计二十九——函数期望

    令X=(X1,-,Xn)′\mathbf{X}=(X_1,\ldots,X_n)^\prime表示某试验的随机变量,我们一般对X\mathbf{X}的函数感兴趣,表示为T=T(X)T=T(\mathb ...

  5. 通过100个单词掌握英语语法(二十二)give

    [不规则动词: give,gave,given]给某人提供某物:What shall we give Mum for her birthday? They gave me flowers. Luke ...

  6. JavaScript-筑基(二十五)navigator对象(判断页面打开终端)、history对象

    navigator对象包含有关游览器的信息,它有很多属性,我们常用的是userAgent,该属性可以返回由客户机发送服务器的user-agent头部的值. 下面前端代码可以判断用户那个终端打开页面,实 ...

  7. 立创eda学习笔记二十:查找相似对象和批量修改

    这两个功能很实用,最简单的例子:本来已经画完了板子,但现在想要把所有电阻的丝印做小一点,板子很大元件很多,你一个一个改太浪费时间了. 可以先使用查找相似对象功能(注意这里不能使用查找对象功能),然后把 ...

  8. 【emWin】例程二十五:窗口对象——Iconview

    简介: 图标视图小工具可用于基于图标的菜单,手持式设备(如移动电话或便携式管理器)常常需要使 用这种菜单.它显示一系列的图标,每个图标都可标注可选文本.图标视图小工具支持透明度及alpha 混合处理. ...

  9. 一天学完spark的Scala基础语法教程十、类和对象(idea版本)

  10. python写接口函数_python接口自动化测试二十:函数写接口测试

    # coding:utf-8 import requests import re from bs4 import BeautifulSoup # s = requests.session() # 全局 ...

最新文章

  1. 幽默:程序员背后的心酸日常,你懂多少?
  2. mysql表空间被占用,同名表无法创建或导入
  3. python管道通信_Python进程通信之匿名管道实例讲解
  4. python画害羞的表情_用Python把你的朋友变成表情包
  5. 操作系统之I/O管理:1、I/O控制器、I/O控制方式(程序直接控制方式、中断驱动方式、DMA方式、通道控制方式)
  6. Linux下导入SQL文件
  7. Error: cannot allocate vector of size 88.1 Mb问题
  8. java 3000并发,还被面试官怼并发编程?来,吃点能量!Java并发编程技术
  9. 23-新建maven 项目
  10. PCB SQL SERVER 枚举分割函数(枚举值分解函数)
  11. 闲来无事实现个备忘录,到点提醒
  12. 细等线体cass_CAD中,刚打开一个文件,细等线体显示不出来,然后换个字体后在换回细等线体才正常显示,怎么回事?...
  13. 攻防世界-web- easyphp
  14. 2022-2028全球LED气球灯行业调研及趋势分析报告
  15. Unity3d简单的发牌效果
  16. CVPR 2022 | Adobe把GAN搞成了缝合怪!凭空P出一张1024分辨率全身人像
  17. xpath提取当当网数学书前十页信息
  18. 全球异地多方连线视频直播(效果截图)
  19. PowerOJ 1737 网络流24题之二 太空飞行计划问题(最大权闭合子图)
  20. STM32F407高级定时器TIM8_CH1N输出PWM配置

热门文章

  1. 令人敬畏的泰格伍兹 万维钢_使用SwiftUI创建令人敬畏的加载状态
  2. 水上飞机行业调研报告 - 市场现状分析与发展前景预测
  3. 【推荐】2020,2021网易数字+大会(云原生微服务+大数据数据库+网易AI实践集合+其他) - (共187份)
  4. python scapy2.3 在windows上的安装
  5. 【docker】虚拟化和docker容器概念
  6. perf常用用法简介
  7. virtualBox实现windows和Ubuntu之间的复制粘贴
  8. Python程序设计(第三版)约翰·策勒 编程练习课后答案(第二章)
  9. CNC五轴编程的全面总结
  10. [2021.8.18]深入理解PackageManagerService