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

烟台seo网站诊断北京网站设计公司yx成都柚米科技15

烟台seo网站诊断,北京网站设计公司yx成都柚米科技15,ps做网站的效果图,网站发布和推广在类中如果我们希望在常函数中修改某属性的值可以使用mutable来实现。 如果有下面的场景,假设我们有一个函数hobby()需要在非const的对象调用的时候,应该去修改内部的属性,在const修饰的对象调用的时候可以满足不修改内部的属性。 鉴于上面的…

在类中如果我们希望在常函数中修改某属性的值可以使用mutable来实现。

如果有下面的场景,假设我们有一个函数hobby()需要在非const的对象调用的时候,应该去修改内部的属性,在const修饰的对象调用的时候可以满足不修改内部的属性。

鉴于上面的情况,我们即使使用mutable也无法满足,因为mutable是让const函数修改属性,一旦设置const的对象和非const的对象就都可以修改了,并不能像上面那样进行区分。

解决方式:   我们可以对于一个函数写两个版本一个是被const修饰的,一个是不被const修饰的。这两个函数的函数名一样,参数一样,内部实现可以相同也可以不同。

 当const的对象去调用此函数的时候,会调用到const修饰的版本,这样就不会修改属性。
 当非const的对象去调用函数的时候,会调用到非const修饰的版本,这样就可以修改属性。

 

当然,我们同一个函数实现两个版本,可能会重复写两段相同的代码,只是const和非const的区别,所以如果不是特殊需求,还是写一个就行。(根据情况确定是否设定为const) 


例子:

#include <iostream>
#include <string>class People {
private:std::string m_hobby;
public:People(const std::string& other): m_hobby(other) {}std::string hobby() {m_hobby = "看电视";return m_hobby;}std::string hobby() const{return m_hobby;}
};int main() {People p("学习");p.hobby();const People p1("学习");p1.hobby();std::cin.get();return 0;
}

p1为常对象,调用的是hobby的常函数版本,
p为普通对象,调用的是hobby的普通函数版本。 

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

相关文章:

  • 如何自己做网站推广本地生活服务小程序
  • 有什么网站是帮别人做设计的山东 网站建设 公司
  • 帮网贷做网站会判刑吗手机版百度入口
  • 做模板下载网站挣钱吗恶意刷网站
  • 手机什么网站可以设计楼房柳州网站建设数公式大全
  • 做什么类型网站可以吸引用户wordpress不用插件
  • 爱唐山做贡献月评十佳投票网站笑傲网站建设
  • 制作作业平台网站的设计建筑用工平台
  • 设计公司企业标语动态ip做网站影响seo吗
  • 温州网站制作价格互联网营销的优点
  • 潍坊做公司网站广州做网站海珠新科
  • 做网站困难吗郑州vi设计公司
  • 视频类网站模板个人网站的重要性
  • 宿迁明远建设有限公司网站网络营销的本质是
  • 网站建设投标书范本学院网站设计方案
  • 广东微信网站制作费用服装品牌建设网站的目的
  • 长治房产网站建设湖南人文科技学院2021分数线
  • 开源系统网站国内外电子政务网站建设差距
  • wordpress的站点地图酷站 网站
  • 没网站怎么做二维码扫描连接wordpress 投票插件
  • 做团购网站多少钱新余建网站
  • 慈溪住房和城乡建设部网站郑州广告公司网站建设
  • 天河区门户网站招生考试漯河网站关键词优化
  • 宝山顺德网站建设重庆网站的推广方式
  • 网站维护常识国际域名注册查询
  • 公司做网站一定要钱吗免费制作图片带字软件
  • 联通公司网站谁做的wordpress 博客 安装
  • 如何运用企业官方网站做宣传制作网站怎么做导航栏
  • 网站开发工程师介绍物联网平台有哪些
  • asp网站开发教案提升关键词