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

免费手机网站建设站长之家是什么

免费手机网站建设,站长之家是什么,建设一个购物网站的费用,西安最新招聘信息文章目录重载隐式类型转换构造函数的隐式类型转换补充operator算子的隐式类型转换重载 略 隐式类型转换 构造函数的隐式类型转换 利用operator进行的隐式类型转换成为operator算子的隐式类型转换,讲这个之前先了解构造函数的隐式类型转换,请看以下代…

文章目录

  • 重载
  • 隐式类型转换
    • 构造函数的隐式类型转换
      • 补充
    • operator算子的隐式类型转换

重载

隐式类型转换

构造函数的隐式类型转换

利用operator进行的隐式类型转换成为operator算子的隐式类型转换,讲这个之前先了解构造函数的隐式类型转换,请看以下代码

class X{public:int val;X(int _val) {	//隐式类型转换val = _val;}
};
int main()
{X m = 2;	//等价于X m(2);return 0;
}

传入一个参数初始化类的构造函数就是构造函数的隐式类型转换,可以理解为将int类型转换为X(class)类型

补充

如果不想出现这种隐式类型转换,就可以用explict修饰
具体详解请看:explict详解

operator算子的隐式类型转换

而operator算子的隐式类型转换则是相反的,例如以下代码

#include<string>
#include<iostream>
#include<cstdio>
#include<sstream>using namespace std;class Test1{public:Test1(int value):_value(value){cout<<"constructor"<<endl;}~Test1(){cout<<"destructor"<<endl;}int getValue(){return _value;}bool operator() (int x) const{	//重载括号cout<<"() is overload"<<endl;return x > _value;}//operator在返回类型前面(区分重载),string是返回类型operator string(){	//operator算子隐式类型转换cout<<"type convert"<<endl;stringstream sstr;sstr<<_value;return sstr.str();}private:int _value;
};int main(){Test1 t(10);int i = 5;if(t(5))cout<<i<<" is greater than "<<t.getValue()<<endl;elsecout<<i<<" is less than "<<t.getValue()<<endl;string str(t); // 将Test1类型转换为string类型cout<<str<<endl;return 0;
}

Test1类型的对象传入string的构造函数,是用了c++构造函数的隐式类型转换特性,虽然string类并没有显式定义参数为Test1的构造函数,但因为其可以隐式转换为string,所以语法上都是合法的。

构造函数的隐式类型转换,是使用一个其他的类型构造当前类的临时对象并用此临时对象来构造当前对象,这种转换必须有构造函数的支持;

operator算子的隐式类型转换,使用当前对象去生成另一个类型的对象(正好与构造函数隐式转换相反),这种转换必须有operator算子的支持。

当然了,构造函数的隐式类型转换有利有弊,类的设计者就起决定性作用了,如果你不想让构造函数发生隐式的类型转换,请在构造函数前加explicit关键字;同时,operator算子声明的隐式类型转换也可以通过一些相应的返回值函数替代,用户的掌控性更好。

http://www.hrbkazy.com/news/55360.html

相关文章:

  • 中国企业有哪些厦门谷歌seo公司有哪些
  • 银川做网站的公司谷歌搜索引擎下载
  • 网站搭建的意义湖南长沙seo
  • php做的网站优缺点百度推广有效果吗?
  • 建设一个淘宝客网站seo站长工具
  • 长沙网站推广¥做下拉去118cr百度度小店申请入口
  • wordpress手机号注册广州seo服务
  • 查询数据的网站怎么做的学seo网络推广
  • 摄影网站采用照片做宣传_版权费是多少?百度一下你就知道官网网页
  • 网站建设 云南百度云超级会员试用1天
  • 有手机网站怎样做微信小程序企业站seo
  • 宁夏建设厅网站首页发布软文平台
  • 网站如何换服务器怎么制作链接网页
  • 制作微网站公司怎么找拉新推广平台
  • 怎么查看网站提交百度的度免费个人网站空间
  • 新建网站如何让百度收录成都网站推广经理
  • 网站底部代码特效太原seo软件
  • 郑州做网站推网络推广是做什么工作
  • 晋安福州网站建设西安网站搭建
  • 外贸免费建设网站制作赣州seo公司
  • 广告设计怎么接单湖北seo公司
  • 网站 免费 认证百度搜索引擎优化的方法
  • 使用wget对网站做镜像网络互联网推广
  • 网站排名所以关键词下降百度推广手机客户端
  • 程序员前端和后端的区别百度seo指南
  • 政府网站开发需求文档seo营销工具
  • 上海建筑建材业网官网徐州seo培训
  • 外国做网站的平台爱战网关键词查询网站
  • wordpress公园怎么网站排名seo
  • 怎么自己搭建博客网站网络推广专员所需知识