1、常函数  void func()  const {}  常函数

2、常函数  修饰是 this指针  const Type * const this

3、常函数  不能修饰this指针指向的值

4、常对象  在对象前面加上const修饰    const Person p1

5、常对象不可以调用普通的成员函数,可以调用常函数。

6、用multable关键字修饰的成员变量在常函数中可以修改。

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;class Person
{
public:Person(){//构造中修改属性//this指针永远指向本体//const Person * const thisthis->m_A = 0;this->m_B = 0;}void showInfo() const  //常函数,不允许修改指针指向的值{this->m_B = 1000;cout << "m_A=" << this->m_A << endl;cout << "m_B=" << this->m_B << endl;}void show2(){m_A = 100;}int m_A;mutable int m_B; //就算是常函数也执意要修改
};void test01()
{Person p1;p1.showInfo();//常对象,不允许修改对象属性const Person p2;//p2.m_A = 100;  报错cout << p2.m_A << endl;//p2.show2();//常对象 不可以调用普通成员函数p2.showInfo();//常对象 可以调用常函数}int main()
{test01();system("pause");return 0;
}

C++基础知识(常函数和常对象)相关推荐

  1. c/c++教程 - 2.4.3 this指针作用,链式编程思想,空指针访问成员函数,const修饰成员函数,常函数,常对象

    目录 4.3 C++对象模型和this指针 4.3.1 成员变量和成员函数分开存储 4.3.2 this指针概念(非常重要) 4.3.3 空指针访问成员函数 4.3.4 const修饰成员函数 相关教 ...

  2. C++中的常函数和常对象

    函数后加个const,相当于告诉编译器,该函数不会改变成员变量的值 常函数: 返回值 函数名() const{//在普通成员函数后面加上const就是常成员函数} 注意: 只有普通成员函数才能构成常函 ...

  3. C++(常函数、常对象)

    常函数.常对象 首先明确: 常函数不能修改成员变量(可以调用,不能修改) 想要修改成员变量,必须在成员变量前加mutable关键字 常对象只能调用常函数,但是普通对象既可以调用普通函数也可以调用常函数 ...

  4. C++常函数和常对象学习笔记

    C++常函数和常对象学习笔记 一.友元的概述 二.友元的语法 三.友元类 3.1 通过传入参数来访问类的私有成员 3.2 通过类内指针来访问类的私有成员 四.类的友元成员函数 五.友元类的注意 一.友 ...

  5. 常函数和常对象——c++

    文章目录 常函数和常对象 常函数 常对象 总结 常函数和常对象 常函数 this指针的本质:Person* const this 就是一个指针,const的含义就是他this指针不能更换指向的对象.但 ...

  6. C++语法(二十)常函数、常对象

    1.常函数 常函数无法修改成员变量,除非这个成员变量用mutable修饰了. #include <iostream> using namespace std;class Person{ p ...

  7. C++编程——常函数与常对象

    文章目录 常函数: 成员函数后加const后我们称为这个函数为常函数 常函数内不可以修改成员属性 成员属性声明时加关键字mutable后,在常函数中依然可以修改 常对象: 声明对象前加const称该对 ...

  8. C++中的常函数与常对象

    1.常函数 首先上代码: class Person { public:void showPerson() const//函数后面用const修饰了{m_Age = 20;cout << & ...

  9. 软考-软件设计师 - 第11章 标准化和软件知识产权基础知识【附补充常考知识点】

    11.1 标准化基础知识 11.1.1 基本概念 1.标准分类: 1)根据适用范围分类: (1)国际标准 (2)国家标准 (3)区域标准 (4)行业标准 (5)企业标准 (6)项目规范 2)根据标准的 ...

最新文章

  1. win10红色警戒黑屏解决
  2. docker mysql 查找ip_Docker 查看运行服务ip
  3. C# 发邮件 服务器响应为: 5.7.0 Must issue a STARTTLS command first
  4. P1236-Network of Schools(学校网络)【最强联通块,Kosaraju】
  5. ad如何设置pcb板子形状_手把手教你在PCB上添加泪滴
  6. .html好 还是.asp好,各位说说在ASP.net里 用静态函数的好 还是实例函数出处HTML好???...
  7. 利用for...in...遍历js数组与Python异同
  8. DEL: 2012年每月花销
  9. opencv-api getRotationMatrix2D
  10. 3.Linux 高性能服务器编程 --- TCP 协议详解
  11. CISP考试的全过程
  12. xp升级windows7_试验机之液压万能试验机升级改造全国招商-机械设备-招商
  13. 苹果公司CEO乔布斯演讲的15个秘诀
  14. java axis2 jar包下载_axis2所有jar包
  15. 设置电脑保护视力的颜色
  16. http://localhost:15672无妨访问(两种情况)
  17. c语言弹出文本框,微信小程序弹出文本输入框
  18. 如何制作一个微信小程序【微信小程序是怎么做的】
  19. edge等浏览器打开开发者工具(F12)之后在NetWork看不到请求头等信息
  20. stc12c5a60s DHT11温湿度传感器

热门文章

  1. Mac终端自动补全及常用命令
  2. 2019年中科院信工所夏令营考核内容
  3. salt同步配置文件
  4. 802.11 - NDP反馈报告
  5. Redis从入门到集群分布式实践
  6. 项目一众筹网01_00_项目简介_此项目是SSM过渡到分布式项目(SpringBoot、SpringCloud)、互联网的发展引领了技术的发展、瀑布模型、敏捷开发是什么意思
  7. canal.deployer部署
  8. Springboot毕设项目健康在线服务平台26iy0(java+VUE+Mybatis+Maven+Mysql)
  9. antd走马灯组件自定义前进后退按钮
  10. CSS高级篇——渐变 (gradient)