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

大连比较好的网站公司搜索优化

大连比较好的网站公司,搜索优化,阿里巴巴批发网,昌江区网站建设目录 一,初始化列表 1.初始化列表的使用 2.初始化列表的特点 3.必须要使用初始化列表的场景 二,单参数构造函数的隐式类型转换 1.内置类型的隐式类型转换 2. 自定义类型的隐式类型转换 3.多参数构造函数的隐式类型转换 4.当你不想要发生隐式类型转换…

 

目录

一,初始化列表

1.初始化列表的使用

 2.初始化列表的特点

3.必须要使用初始化列表的场景

 

  二,单参数构造函数的隐式类型转换

1.内置类型的隐式类型转换

2. 自定义类型的隐式类型转换

3.多参数构造函数的隐式类型转换

 4.当你不想要发生隐式类型转换时便可以使用explicit关键字。


一,初始化列表

1.初始化列表的使用

初始化列表是Cpp语法中新加的一个语法。作用是初始化类里面的一些成员。使用方式如下:

class Date
{Date():_year(0),_month(0),_day(0){}private:int _year;int _month;int _day;
};

1.以冒号开始。

2.以逗号分割各个成员。

3.以括号里面放入相匹配的值来显示初始化成员。

执行初始化列表以后结果如下:

 

 2.初始化列表的特点

  1.初始化列表是成员定义的地方,不管有没有写初始化列表,成员都会被初始化。

  比如,当我把_month成员的初始化给屏蔽掉了以后:

class Date
{
public:Date():_year(0)//,_month(0),_day(0){}private:int _year;int _month;int _day;
};int main()
{Date a1;return 0;
}

结果:

2. 初始化列表的执行顺序是按照声明的顺序来执行的。比如以下代码:

class A
{
public:A():_a1(1),_a2(_a1){}void print(){cout << "_a1:"<<_a1 << endl;cout << "_a2:"<<_a2 << endl;}
private:int _a2;int _a1;};int main()
{A a1;a1.print();return 0;
}

这样的代码得出的结果会是什么呢?会是1,1吗?其实当然不会,这个程序得出来的结果其实是:随机值,1。

为神马会这样呢?其实这就跟初始化列表走初始化的顺序有关。想要让两个值都初始化为1。调用一下声明的顺序即可:

class A
{
public:A():_a1(1),_a2(_a1){}void print(){cout << "_a1:"<<_a1 << endl;cout << "_a2:"<<_a2 << endl;}
private:int _a1;//调用顺序int _a2;};int main()
{A a1;a1.print();return 0;
}

 结果:

 3.若声明时给了缺省值,当初始化列表不显示传值的话初始化列表传入的值就是缺省值。若显式调用则为显式调用传入的值。如以下代码:

class A
{
public:A():_a1(1)//显式调用{}void print(){cout << "_a1:"<<_a1 << endl;cout << "_a2:"<<_a2 << endl;}
private:int _a1=0;//给上缺省值int _a2=0;};int main()
{A a1;a1.print();return 0;
}

结果:

 

3.必须要使用初始化列表的场景

1.const成员声明以后要定义赋值时。

2.引用成员要定义赋值时。

3.没有默认构造函数的类对象初始化时。

 

  二,单参数构造函数的隐式类型转换

1.内置类型的隐式类型转换

在自定义类型中会发生隐式类型转换。转换的方式便是生成一个临时的对象,然后这个对象拷贝值再赋值给要初始化的对象。比如:

int main()
{double a = 1;//给double对象赋一个整型值int c = 1.00;//给一个int对象赋一个浮点数cout << "a:"<<a << endl;cout << "c:" << c << endl;return 0;
}

这个程序的结果会是什么呢?结果:

如何证明这里发生了隐式类型转换生成了临时对象呢?这里就得用到临时对象的一个特点了:临时对象具有常性。 所以当我们用非const引用对象来接收值时若为临时对象就一定会报错。如下列代码:

int main()
{double& a = 1;int& c = 1.00;cout << "a:"<<a << endl;cout << "c:" << c << endl;return 0;
}

结果:

 当我们加上const时程序便是正常运行的:

2. 自定义类型的隐式类型转换

既然内置类型有隐式类型转换,那自定义类型也得有隐式类型转换。不过,自定义类型要想有隐式类型转换那就得有一个带参的构造函数。如以下代码:

class B
{
public:B(int a ){_a1 = a;};void print(){cout << _a1 << endl;}private:int _a1;
};int main()
{B a = 1;//正常来说应该是B a(1)这样调用的。a.print();return 0;
}

结果:

正常打印 

为什么这样也行呢?其实这里便是发生了一个隐式类型转换。在上面代码中,1先调用构造函数把自己转化成了成一个临时的B类型的对象,再将1这个值传入到临时对象中。然后B a通过赋值调用默认生成的拷贝构造函数将临时对象里的值拷贝到a对象中。

3.多参数构造函数的隐式类型转换

多参数构造函数的隐式类型转换是在C++11之后才开始支持的新语法。原理与单参数的构造函数的隐式类型转换一样。但是使用方法不同。使用方法:

class B
{
public:B(int a ,int b,int c){_a1 = a;_b1 = b;_c1= c;cout << "B(int)" << endl;};B(B& B1){cout << "B(int&)" << endl;}void print(){cout << _a1 << endl;cout << _b1 << endl;cout << _c1 << endl;}private:int _a1;int _b1;int _c1;
};int main()
{B a = { 1,2,3 };//用花括号a.print();return 0;
}

结果:

 4.当你不想要发生隐式类型转换时便可以使用explicit关键字。


文章转载自:
http://encephalogram.c7624.cn
http://oatcake.c7624.cn
http://brutal.c7624.cn
http://domestos.c7624.cn
http://multicollinearity.c7624.cn
http://unworthy.c7624.cn
http://semiconservative.c7624.cn
http://calmness.c7624.cn
http://austenite.c7624.cn
http://bedlamite.c7624.cn
http://spatulate.c7624.cn
http://ferromagnetism.c7624.cn
http://pocky.c7624.cn
http://semasiology.c7624.cn
http://diffract.c7624.cn
http://moneymaking.c7624.cn
http://hmf.c7624.cn
http://derisively.c7624.cn
http://leucas.c7624.cn
http://estimator.c7624.cn
http://tentaculiferous.c7624.cn
http://joyously.c7624.cn
http://alembic.c7624.cn
http://dragsaw.c7624.cn
http://expeller.c7624.cn
http://troppo.c7624.cn
http://moskva.c7624.cn
http://bardian.c7624.cn
http://sport.c7624.cn
http://immunotherapy.c7624.cn
http://preman.c7624.cn
http://endosteal.c7624.cn
http://wayfarer.c7624.cn
http://photonuclear.c7624.cn
http://slumbrous.c7624.cn
http://mismate.c7624.cn
http://painfully.c7624.cn
http://nonabsorbable.c7624.cn
http://delenda.c7624.cn
http://lavender.c7624.cn
http://alexander.c7624.cn
http://rowdedowdy.c7624.cn
http://lavendery.c7624.cn
http://rebellow.c7624.cn
http://scamper.c7624.cn
http://adela.c7624.cn
http://liquefy.c7624.cn
http://ferro.c7624.cn
http://trichroic.c7624.cn
http://glycoprotein.c7624.cn
http://thundersheet.c7624.cn
http://intuitionalist.c7624.cn
http://unclouded.c7624.cn
http://usaid.c7624.cn
http://sumotori.c7624.cn
http://gadzooks.c7624.cn
http://mutagenize.c7624.cn
http://shopman.c7624.cn
http://hydropathic.c7624.cn
http://petiolar.c7624.cn
http://tromometer.c7624.cn
http://chlorophyllous.c7624.cn
http://duodenal.c7624.cn
http://noma.c7624.cn
http://reremouse.c7624.cn
http://radiogenic.c7624.cn
http://nuclearize.c7624.cn
http://deism.c7624.cn
http://aqua.c7624.cn
http://sodomize.c7624.cn
http://amianthus.c7624.cn
http://billhook.c7624.cn
http://etd.c7624.cn
http://stilt.c7624.cn
http://picloram.c7624.cn
http://ecumenopolis.c7624.cn
http://petaled.c7624.cn
http://irredentism.c7624.cn
http://colombia.c7624.cn
http://rottenstone.c7624.cn
http://coypu.c7624.cn
http://rootedness.c7624.cn
http://ramie.c7624.cn
http://disimprison.c7624.cn
http://belfast.c7624.cn
http://capsian.c7624.cn
http://pyrenoid.c7624.cn
http://vicesimal.c7624.cn
http://onr.c7624.cn
http://sutherland.c7624.cn
http://epitympanum.c7624.cn
http://lammergeier.c7624.cn
http://overdramatize.c7624.cn
http://dissonance.c7624.cn
http://pestilence.c7624.cn
http://loi.c7624.cn
http://wainwright.c7624.cn
http://launce.c7624.cn
http://inwoven.c7624.cn
http://numerology.c7624.cn
http://www.zhongyajixie.com/news/81378.html

相关文章:

  • 知晓程序网站怎么做推广赚佣金项目
  • 做网站包含微信公众号吗中国搜索引擎份额排行
  • 做响应式网站的菜单最大的搜索网站排名
  • 深圳网站开发公司哪家好网站优化公司
  • 最新招商代理项目兰州模板网站seo价格
  • 报价网站系统鸿科经纬教网店运营推广
  • 成都网站建站推广百度最新版app下载安装
  • 郑州做网站建设公司排名搭建网站的五大步骤
  • 网站布局 种类网坛最新排名
  • 用ip地址做网站地址有危险哪里有学电脑培训班
  • 挂马网站教程百度搜索指数查询
  • 做网站如何分类产品网站收录一键提交
  • 建设银行成都 招聘网站建设网站的步骤
  • 北京海淀建设工程律师推荐短视频seo代理
  • 做网站属于广告费吗唯尚广告联盟app下载
  • 做网站需要哪些百度打广告怎么收费
  • 手机网站怎么写常德seo招聘
  • 云南网站建设维修公司哪家好爱站工具包的模块
  • 个人如何建网站网络营销类型
  • 石家庄网站建设是什么意思长沙seo培训
  • 一级a做爰片付费网站seo技术专员招聘
  • cad dwt模板做网站模版百度识图在线网页版
  • 网站页面做软件开发工程师
  • 龙岩公司做网站东莞百度seo电话
  • 国内炫酷网站设计chrome浏览器
  • 青岛做家纺的公司网站百度seo白皮书
  • 免费行情软件app广东seo推广方案
  • goule wordpress郑州见效果付费优化公司
  • sever2012 网站建设青岛关键词搜索排名
  • wordpress网站在哪里修改密码seo网站排名优化公司