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

360做网站荆州西宁做网站的好公司

360做网站荆州,西宁做网站的好公司,商务网站建设数据处理,做别人一样的网站吗目录 前言 01 如果不用成员列表如何初始化变量 02 成员列表初始化 03 为什么要使用成员列表初始化呢#xff1f; 04 案例代码 前言 本期我们聊聊构造函数初始化列表。 你应该经常使用成员初始化列表#xff0c;如果你不喜欢这种代码风格#xff0c;建议你还是慢慢习惯吧… 目录 前言 01 如果不用成员列表如何初始化变量 02 成员列表初始化 03 为什么要使用成员列表初始化呢 04 案例代码 前言 本期我们聊聊构造函数初始化列表。 你应该经常使用成员初始化列表如果你不喜欢这种代码风格建议你还是慢慢习惯吧因为这不仅仅是代码风格的问题它有功能上的区别如果不使用它们就会浪费性能。 那什么是成员初始化列表呢 与其他函数不同构造函数除了有名字参数列表和函数体之外还可以有初始化列表初始化列表以冒号开头后跟一系列以逗号分隔的初始化字段。 01 如果不用成员列表如何初始化变量 这是我们在构造函数中初始化类成员变量的一种方式当我们编写一个类并向该类添加成员时通常需要某种方式对这些成员进行初始化这些操作通常会在构造函数中完成。 我们有两种方法可以在构造函数中初始化一个类成员。 我们先看第一种就是的构造函数内初始化 class Dog { private:int m_age; //年龄string m_name; //名字double m_weight; //体重}; 这里有一个 Dog类它有 int m_age,double weight ,string name 成员变量还没有任何构造函数我们添加构造函数。 其中一种构造函数是接受 三种变量作为参数的构造函数。 另外创建一个默认构造函数没有任何参数。 我想将参数传入将 Dog对象的变量初始化了 而在无参的构造函数中我们简单的将 name 设为 “Dog”其他参数则设置为0 我们先简单的测试一下当前的代码。 测试代码 #include iostream using namespace std;class Dog { private:int m_age; //年龄string m_name; //名字double m_weight; //体重 public:Dog(int p_age,string p_name,double p_weight){m_age p_age;m_name p_name;m_weight p_weight;}Dog(){m_name Dog;m_age 0;m_weight 0;}void print_animal_messge(){coutname:m_name\t: weight:m_weight \tage:m_ageendl;} };int main() {Dog xiaoHuan(15,xiaoHuan,10.1);xiaoHuan.print_animal_messge();return 2; } 这样做完全没有问题这可能是我们一直都在使用的方式。但是在 C 中实际还有另外一种方法就是使用成员初始化列表。一切都很顺利。 02 成员列表初始化 让我们看看第二种方法来初始化。 与直接设置 m_name 不同这次我们通过成员初始化列表来实现。 在写了构造函数和参数之后我们可以添加一个冒号格式如上。可以在同一行也可以另起一行加一个缩进。然后开始列出你想要初始化的成员。 我们顺便添把其他变量也设置为 0。 有一件事你需要知道你定义了一些变量那么你的成员初始化列表也需要按照顺序完成如果你不按照顺序写有一些编译器会警告你因为不管你怎么写初始化列表它都会按照定义类成员的顺序进行初始化。打乱顺序会导致各种各样的依赖性问题。 在另一个构造函数中我们可以这样做。 运行之后你会发现结果和之前是一样的。 就是这样这就是成员初始化列表。 03 为什么要使用成员列表初始化呢 那么为什么我们要这样做呢它有什么意义吗只是代码风格的问题吗 我建议你这样写代码因为如果你有很多成员变量如果你在函数里面初始化它们就会非常混乱可能很难看出构造函数到底在做什么因为之后你还有某些代码做其它事情但是你的大部分构造函数的内容都只是在初始化变量都是些琐碎、无聊的事情你会很想隐藏它们这就是为什么我建议你这样做。 非成员列表初始化 成员列表初始化 即使是从代码风格的角度来看这样也是很美观的它可以让你的构造函数非常干净易于阅读。 #include iostream using namespace std;class Dog { private:int m_age; //年龄string m_name; //名字double m_weight; //体重 public:Dog(int p_age,string p_name,double p_weight): m_age(p_age), m_name(p_name), m_weight(p_weight){}Dog(string p_name): m_name(p_name), m_weight( 0.2 ), m_age(0){}Dog(){m_name Dog;m_age 0;m_weight 0;}void print_animal_messge(){coutname:m_name\t: weight:m_weight \tage:m_ageendl;} };int main() {Dog xiaoHuan(xiaoHuan);xiaoHuan.print_animal_messge();return 2; }
http://www.hkea.cn/news/14541212/

相关文章:

  • ps和dw怎么做网站室内设计主要是干什么的
  • 网站设计模板下载ps怎么制作网页效果图
  • 中国建设银行企业网站做招聘网站做服务器多少钱
  • 商城网站设计需要哪些技术广东省做网站推广公司
  • 成都网站建设哪家免费vps试用一年
  • 企业网站需要多大空间uc浏览器关键词排名优化
  • 建站快车品牌上海娱乐场所恢复营业最新通知
  • 个人如何制作一个网站wordpress 爬虫
  • 做网站美工工资多少钱简单的网站维护
  • 网站建设上qq图标去除网页设计制作课程表
  • 昆明seo公司网站看一个网站是用什么语言做的
  • 网站开发软件技术开发公司工程造价信息网官网登录入口
  • 重庆h5网站建设模板网站后台 js框架
  • 网页设计做军事网站的感想昆山推广用什么网站比较好
  • 做教育网站挣钱建筑网站带图解
  • 怎么在家做网站工业设计本科生作品集
  • 建网站 pdfwordpress 跳板
  • 摄影作品欣赏网站wordpress菜单显示在哪
  • 泰安微信网站制作农村房屋设计图
  • 中国平面设计和网站建设企业seo顾问服务阿亮
  • 做网站时管理员权限的页面精美ppt模板下载免费
  • 云南公司网站开发如何修改网站源文件
  • 上海网站建设费用多少旅游网站建设的目的与意义是什么意思
  • 商城网站制作报价a5wordpress模板
  • 国家城乡住房建设厅网站建设网站建设安全培训平台
  • 人人站cms软件技术和软件工程的区别
  • 制作一个网站的流程有哪些网站开发价格对比
  • 北京云建站模板童程童美少儿编程怎样收费
  • 怎么向google提交网站微信朋友圈广告投放代理
  • 宁波北仑做网站做动画 的 网站有哪些