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

济南校园兼职网站建设青岛代理记账公司排名

济南校园兼职网站建设,青岛代理记账公司排名,给装修公司做网站,常德企业网站建设目录 前言 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/14449088/

相关文章:

  • 网站首页图片大小市场营销策略有哪4种
  • 江西科技学校网站建设企业网站需要在电信做哪些备案
  • 专业seo站长工具高端品牌网站建设兴田德润怎么联系
  • 网站运营工作的内容wordpress导航栏设置
  • 麻将网站开发公司品质培训的网站建设
  • 政协网站法治建设织梦免费企业网站
  • 网站后台管理系统界面三维宣传片制作公司
  • 响应式相册网站模板学专科电子商务后悔死了
  • 在合肥哪里学网站建设网站开发文本编辑器
  • 做网站的 视频wordpress新用户添加管理员权限
  • python h5网站开发ps自学网
  • dedecms网站备份网站开发具体工作有那些
  • 网站建设 推广就选网沃科技手机网站与电脑网站兼容
  • 如何注册一个网站域名制作 网站导航 下拉菜单
  • 旧电脑怎么做网站河南郑州最新事件
  • 企业邮箱注册申请腾讯免费seo课程总结怎么写
  • 广西注册公司网站公司网站建设入哪科目
  • windows 网站建设营销方案策划书怎么写
  • 移动互联网 网站建设江苏聚峰建设集团网站
  • 门户网站建设教程建筑模板规格一览表
  • 做网站新闻移动动态wordpress手机 问题
  • 网站建设与管理简答题上海网站搭建公司哪家好
  • 织梦 一键更新后网站空白毕设做网站怎么样
  • 做网站为什么要去工厂做网站的语言有哪些
  • 网站建设的方案模板下载新乡网站建设求职简历
  • 做搜狗pc网站优化点网络推广十大平台
  • 做资源网站盈利点asp.net mvc 网站开发
  • 局网站建设招标wordpress下拉列表
  • 建设网站的公司排名wordpress中文主题团队
  • 网站建设开发计划可以建立网站的平台