当前位置: 首页 > news >正文

广州网站vi设计报价怎样做一个app

广州网站vi设计报价,怎样做一个app,百度搜索推广是什么,晋城购物网站开发设计常函数: 成员函数后加const后我们称为这个函数为常函数常函数内不可以修改成员属性成员属性声明时加关键字mutable后,在常函数中依然可以修改 常对象: 声明对象前加const称该对象为常对象常对象只能调用常函数 一、this指针本质 this指针…

常函数:

  • 成员函数后加const后我们称为这个函数为常函数
  • 常函数内不可以修改成员属性
  • 成员属性声明时加关键字mutable后,在常函数中依然可以修改

常对象:

  • 声明对象前加const称该对象为常对象
  • 常对象只能调用常函数


一、this指针本质

this指针的本质是一个指针常量,Person * const this。const修饰的是 “this”, 指针的值不可以改,即指针的指向不可以改,但指针指向的对象的值可以改。

在这里插入图片描述

成员函数ShowPerson的定义是:

void ShowPerson()  {//this = NULL;     	// 指针的指向不可以改,this = NULL非法。this->m_B = 100;	// 指针指向的对象的值可以改,合法。
}

c++把它处理为:

//this指针的本质是一个指针常量,指针的指向不可修改
//Person * const this = &p
void Person :: ShowPerson(Person * this)  {//this = NULL;     	// 指针的指向不可以改,this = NULL非法。this->m_B = 100;	// 指针指向的对象的值可以改,合法。
}

实际的调用方式为:

Person p;p.ShowPerson(&p);



二、常函数

ShowPerson() 函数后面添加 const 关键字,const Person * const this ,是指向常量的常量指针。指针的指向不可以改,指针指向的值也不可以改。

在这里插入图片描述

常成员函数可以访问常对象中的数据成员,但仍不允许修改常对象中数据成员的值。

class Person {
public://如果想让指针指向的值也不可以修改,需要声明常函数//const  Person * const thisvoid ShowPerson()  const{this = NULL;			// 指针的指向不可以改this->m_B = 100;		// 指针的指向对象的值也不可以改}public:int m_A;int m_B; //可修改 可变的
};void test01() {Person p; p.ShowPerson();
}



三、mutable关键字

加mutable关键字,即使在常函数中,也可以修改这个值。

在这里插入图片描述

class Person {
public://const  Person * const thisvoid ShowPerson()  const{this = NULL;this->m_B = 100;		}public:int m_A;mutable int m_B; // 加mutable关键字,即使在常函数中,也可以修改这个值。
};



四、常对象

加mutable关键字,即使在常对象中,也可以修改这个值。

在这里插入图片描述

class Person {
public://const  Person * const thisvoid ShowPerson()  const{this = NULL;this->m_B = 100;		}public:int m_A;mutable int m_B;	// 加mutable关键字,即使在常函数中,也可以修改这个值。
};//const修饰对象  常对象
void test02() {const Person p;		// 常量对象  p.m_B = 100;		// 加mutable关键字,即使在常对象中,也可以修改这个值。p.m_A = 100;	
}



五、常对象只能调用常函数

常对象 不可以调用普通成员函数,因为普通成员函数可以修改属性。

在这里插入图片描述

class Person {
public://const  Person * const thisvoid ShowPerson()  const{	this = NULL;this->m_B = 100;		}void func() {m_A = 100;		// 如果常对象能调用这个普通函数,那么就可以间接地修改常对象的属性,矛盾。}public:int m_A;mutable int m_B;	// 加mutable关键字,即使在常函数中,也可以修改这个值。
};// const修饰对象,表示一个只读状态  常对象本身不可以修改属性  
void test03() {const Person p;		// 常对象p.ShowPerson();		// 常对象只能调用常成员函数。p.func();			// 常对象 不可以调用普通成员函数,因为普通成员函数可以修改属性。
}




http://www.yayakq.cn/news/663737/

相关文章:

  • 北京制作公司网站开发一个项目的流程
  • 网站建设公司推广方案打开网站代码怎么写
  • 免费国外医疗静态网站模板下载怎样在手机上做网站
  • 个人网站设计及实现论文wordpress 家装装修模板下载
  • 建站合肥网络公司seo哪个网站做贺卡做的好
  • 文字网站和图片网站哪个难做应用软件界面设计工具
  • 阿里云做网站官网wordpress 站长主题
  • 音乐网站开发思路现在还用dw做网站设计么
  • 宁波网站建设有限公司wordpress绑定手机版
  • 创建网站要多少钱百度云做网站
  • 上高县城乡规划建设局网站佛山关键词排名工具
  • 网站开发技术课程设计报告外国人 做的中国字网站
  • 动易网站开发wordpress 迅雷下载地址
  • 文化馆网站建设庞各庄网站建设
  • 小企业网站建设查询有几个网站打不开
  • 做详情页网站网站恶意镜像
  • 会员可见的网站开发外包公司设计完网站谁负责运营
  • 网站建设功能要求网站广告联盟平台
  • 中关村在线官方网站html5 开发的网站
  • asp做网站步骤建网站的流程和费用
  • 全景网站如何建设濮阳市网站建设
  • 免费html网页模板素材网站软件工程师需要考什么证
  • 网站建设方案对比分析网站建设常用结构类型
  • 东莞公司建网站要多少费用阿里巴巴国际站怎么网站建设
  • wordpress视频教程 百度网盘站长seo计费系统
  • 百度网站关键词排名助手网站图片被盗连怎么办啊
  • 购物网站中加减数目的怎么做网站制作怎样快速
  • 黄页88网seo需要什么技术
  • 如何查找网站竞争对手的宣传方式高端品牌网站建设网站开发注意什么
  • 湛江免费建站重庆 机械有限公司 江北网站建设