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

山西省煤矿建设协会网站网站建设推广是什么工作

山西省煤矿建设协会网站,网站建设推广是什么工作,济宁网络科技有限公司app,建筑方案设计作图题一:声明,定义,赋值的区别 ①:声明 这里,int _year; int _month;int _day; 是成员变量的声明,它们告诉编译器: 类 Date中有三个成员变量_year和 _month和_day。 它们的类型分别都是 int 此…

一:声明,定义,赋值的区别

①:声明

这里,int _year;  int _month;int _day; 是成员变量的声明,它们告诉编译器:

  • Date中有三个成员变量_year和 _month和_day

  • 它们的类型分别都是 int 

此时,编译器并没有为 a 和 b 分配内存,因为类的定义只是一个蓝图,只有在创建类的对象时,才会为这些成员变量分配内存。

②:定义

int main()
{Date d1;//这叫定义return 0;
}

成员变量的定义实际上发生在创建类的对象时,当创建 Date 的对象 d1 时,编译器会为 d1 的成员变量分配内存。这时成员变量才真正被定义(即分配了内存空间)。

③:赋值

在构造函数体内这里,构造函数体内通过赋值操作改变成员变量的值

二:为何要有初始化列表

有三种值,必须在定义的时候立刻赋予初始值 如下:

A:那意思是我们之前的构造函数的体内不叫立刻赋予初始值?

Q:是的,构造函数体内对成员变量的操作不叫“立刻赋予初始值”,而是赋值,因为构造函数体内的操作是在成员变量已经存在(已经分配内存)后,再改变它们的值,这叫作赋值。

为什么这三种值必须在定义时立马初始化?

这些成员变量的特性决定了它们必须在定义时立马初始化:

  1. 常量成员变量(const):

    • 常量一旦初始化后,其值不能被修改。

    • 因此,必须在定义时赋予初始值。

  2. 引用成员变量:

    • 引用必须在定义时绑定到一个对象,且之后不能重新绑定。

    • 因此,必须在定义时赋予初始值。

  3. 没有默认构造函数的类类型成员变量:

    • 如果类没有默认构造函数,则必须通过参数化构造函数初始化。

    • 因此,必须在定义时赋予初始值。

所以C++创建一个叫初始化列表,初始化列表会让这三种值在定义的时候就能被立刻赋予初始值

初始化列表:以一个冒号开始,逗号间隔的数据成员列表。

class MyClass {
public:MyClass(int x, int& r, int m) : a(x), ref(r), member(m)     //冒号开始,逗号间隔{// 正确:使用初始化列表初始化}private:const int a; // 常量成员变量int& ref;    // 引用成员变量MyMemberClass member; // 没有默认构造函数的类类型成员变量
};

三: 初始化列表的注意事项

① :每个成员变量再初始化列表中只能出现一次,即 初始化只能初始化一次

    MyClass(int x, int& r, int m) : a(x), a(x),ref(r), member(m) //只能出现一次!!!{}

②:成员变量在类中的声明顺序就是在初始化列表中的初始化顺序,与其在初始化列表中出现的顺序无关。

用一道题来理解②:

class A {
public:A(int a):_a1(a), _a2(_a1)  // 先执行它{}void Print() {cout << _a1 << " " << _a2 << endl;}
private:int _a2;   // _a2 先声明int _a1;
};int main() {A aa(1);aa.Print();
}

此时的结果是:

 

解释:

因为我们先声明的是 _a2,所以在初始化列表里我们先初始化的是 _a2,因为这里是 _a2(_a1), _a1 此时还是没有得到传过去的 1,所以此时_a1还是随机值,所以 _a2 就被初始化成随机值了。按照声明顺序然后是 _a1, _a1 接收到了1,自然会初始化成 1,最后按顺序打印c 1 和 随机值。

 

 

 

 

http://www.dtcms.com/wzjs/535793.html

相关文章:

  • 在线设计平台canva可画郑州seo网站排名优化公司
  • 织梦网站后台如何做百度优化做一个app需要什么条件
  • 阳江网站建设推广公司电话网站如何做cc防护
  • iss怎么做网站网站规划设计说明书
  • 太原网站制作哪儿好薇深圳网站设计收费
  • 建设全球购多用户商城网站不同网站的主机和域名
  • 无锡做网站seo百年建筑网官网
  • 中国建设银行信用卡网站首页金融投资公司网站建设论文
  • wordpress注册功能seo排名赚官网
  • 国外学校网站模板已有备案号新增网站备案要关闭原先的站点吗
  • wordpress调用网站最新文章node.js做网站
  • 百度云网站入口app制作平台大全
  • 做网站学什么软件本地网站搭建
  • 网站上怎样做下载文档链接列举常见的网络营销工具
  • 河北建设局网站it人力外包
  • 12380网站的建设情况茶叶网站源码php
  • 网站建设好弄不好弄it培训教育机构
  • 网站建设是专业合肥微信网站
  • 开公司建网站淘宝客网站女装模板下载
  • 国内全屏网站有哪些公司网站怎么做
  • 有网络网站打不开怎么回事做胃镜多少钱那好天津津门网站a
  • 猪八戒网站开发电子商务网站硬件建设的核心是
  • 做网站资源和幼儿做网站爱
  • 网站建设基础心得微信网页登录入口
  • 网站建设市场数据分析个人备案网站做盈利合法吗
  • 德州公司做网站wordpress文章字数
  • asp音乐网站开发教程深圳十大传媒公司排名
  • 私人网站制作 个人使用主页网站建设
  • 网站建设的财务计划网站集成支付宝教程
  • 群晖网站建设口岸地区网站建设内容