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

做网站应该学什么专业上海大象影视传媒制作公司

做网站应该学什么专业,上海大象影视传媒制作公司,编程培训班多少钱,山东建设厅网站首页目录 一、前言 二、 初始化的概念区分 三、初始化列表 #xff08;重点#xff09; #x1f4a6;初始化列表的概念理解 #x1f4a6;初始化列表的注意事项 四、共勉 一、前言 在之前的博客学习中#xff0c;我们已经学习了【C】的六大默认成员函数 #xff0c;想必大…目录 一、前言 二、 初始化的概念区分 三、初始化列表 重点 初始化列表的概念理解 初始化列表的注意事项 四、共勉 一、前言 在之前的博客学习中我们已经学习了【C】的六大默认成员函数 想必大家已经对构造函数已经比较熟悉了可是大家是否遇到过在构造函数后面跟了一个冒号这个问题让我很是困惑于是就有了这篇博客。                 接下来我将详细的讲解关于构造函数后面 : 的故事 -------- 初始化列表  二、 初始化的概念区分 在了解初始化列表------ : 之前我们首先需要知道两个重要的知识 1. 构造函数是干嘛的 答 用于初始化类中的成员变量 2. 什么是初始化 答 在创建对象时编译器通过调用构造函数给对象中各个成员变量一个合适的初始值   接下来再来看一段代码 class Date { public://构造函数Date(int year, int month, int day){_year year;_month month;_day day;} private:int _year;int _month;int _day; };         上面这个Date类是我们之前写过的这里有一个它的有参构造函数虽然在这个构造函数调用之后对象中已经有了一个初始值但是不能将其称为对对象中成员变量的初始化。构造函数体中的语句只能将其称为【赋初值】而不能称作初始化。因为初始化只能初始化一次而构造函数体内可以多次赋值。 class Date { public:Date(int year 2022, int month 5, int day 24){_year year;_year 2023; //第二次赋值_year 2024; //第三次赋值_month month;_day day;} private:int _year;int _month;int _day; };         既然构造函数体的语句只能称作为赋初值现在可否有一种方式进行初始化呢即初始化列表初始化。 ⭐总结     1️⃣我们之前写的构造函数其实并不是对成员变量进行初始化而是进行【赋初值】。 2️⃣如果想要对成员变量进行初始化需要用到-----------初始化列表            三、初始化列表 重点 初始化列表的概念理解 【初始化列表】以一个冒号“ ”开始接着是一个以逗号分隔的数据成员列表每个成员变量后面跟一个放在括号中的初始值或表达式 例如如下代码 class Date { public://构造函数 --初始化列表初始化Date(int year 2023, int month 11, int day 2):_year(year), _month(month), _day(day){} private:int _year;int _month;int _day; }; 当然我可以在初始化列表初始化也可以在大括号内进行赋值 Date(int year 2023, int month 11, int day 2):_year(year), _month(month) {_day day; } 初始化列表的注意事项 【初始化列表】的注意事项   1️⃣初始化列表可以认为就是对象成员变量定义的地方 2️⃣每个成员变量在初始化列表中只能出现一次(初始化只能初始化一次) 3️⃣类中包含以下成员必须放在初始化列表位置进行初始化 引用成员变量const成员变量自定义类型成员(该类没有默认构造函数) 1先前我们都知道引用的变量和const变量只能在定义时初始化而普通的变量在定义时不强求初始化所以我们就不能按照如下的方式操作     ⭐成员变量为const和引用的时候-----正确的代码为 class Time { public:// 构造函数Time(int hour 12,int min 11,int s 10):_hour(hour),_min(min),_s(s){}void Printf(){cout hour为 _hour endl;cout min为 _min endl;cout s为 _s endl;} private:// 定义时不强求初始化后面可以再赋值修改int _hour; // 声明// 只能再定义的时候初始化const int _min;int _s; }; int main() {Time t1;t1.Printf();return 0; } 2自定义类型成员(该类没有默认构造函数)同样也得在初始化列表进行初始化 class A { public:A(int x) //非默认构造函数因为要主动传参:_x(x){} private:int _x; }; class Date { public://在初始化列表对自定义类型 _aa 进行初始化Date(int a):_aa(a) {} private:A _aa; };         注意这里的条件一定得是没有默认构造函数的自定义类型成员才得在初始化列表进行初始化而默认构造函数简单来说就是不需要传参的函数4️⃣成员变量在类中声明次序就是其在初始化列表中的初始化顺序与其在初始化列表中的先后次序无关 看下面这道题 class A { public:A(int a):_a1(a), _a2(_a1){}void Print(){cout _a1 _a2 endl;} private:int _a2;int _a1; }; int main() {A aa(1);aa.Print(); } A、输出1 1        B、程序崩溃        C、编译不通过        D、1   随机值   答案D 解析注意我成员变量在类中声明次序就是其在初始化列表中的初始化顺序既然_a2先声明则必然进入初始化列表要先执行, _a2(_a1) 。意思是说拿_a1去初始化_a2不过此时的_a1还是随机值自然_a2即为随机值随后执行:_a1(a)。拿a初始化_a1所以输出的值为1和随机值。   四、共勉 以下就是我对【C】构造函数后面冒号“”的理解如果有不懂和发现问题的小伙伴请在评论区说出来哦同时我还会继续更新对C 类和对象的理解请持续关注我哦
http://www.hkea.cn/news/14372148/

相关文章:

  • 泗阳做网站设计360浏览器网页打不开是什么原因
  • 网站开发如何引用函数网站信息查询
  • wordpress调用网站域名做一个网站花2万贵吗
  • 成都网站建设推来客网站系统企业网站php模板下载
  • 唐山网站制作系统c2c模式流程图
  • 在哪些网站做推广颍上网站建设
  • 网站推广计划怎么写酒店网站开发回扣
  • 绵阳辉煌网站建设网站内页做排名
  • 平台网站建设外包费用php网站建设含义
  • 最潮流的网站开发脚本语言秦皇岛网站建设汉狮怎么样
  • 贵州贵阳网站开发抖音代运营退款成功案例
  • 淄博网站建设好的公司iis 建设网站
  • 万网虚拟云空间怎么建设网站中企动力初期做的网站
  • 怎么把网站地图上传wordpress 编辑菜单
  • 电子网站建设价格自媒体账号
  • 石家庄网站建设wsjzwordpress注册邮件接收不到邮件
  • 制造网站在中国怎么做国外网站
  • 深圳网站设计我选刻大连哪个公司做网站开发的
  • 新建的网站只能用临时域名打开网站项目管理系统
  • 网站建设 需求分析报告国内知名建筑设计公司
  • wordpress站群插件上海市建设工程咨询行业协会官网
  • 专门做音乐的网站哪些网站可以做淘宝店招
  • 电商网站建设与维护意味着什么刚刚传来最新消息
  • 网站建设的ppt模板下载p站关键词排名
  • 电信ip做的网站移动不能访问网站开发用户注册
  • 湘潭网站建设 沟通磐石网络乐山智顶网站建设
  • 网站 建设设计北京包装设计制作
  • 网站开发工作好不好广州网站优化推广公司
  • 群辉服务器做网站安全教育平台登录入口网址
  • 河北云建站网站设计行业现状