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

网站建设经典范例黑帽seo工具

网站建设经典范例,黑帽seo工具,做网站多少钱西宁君博示范,pc网站建设的三大条件类和对象(下)(一)1.再谈构造函数1.1构造函数体赋值1.2初始化列表1.3explicit关键字2.static成员2.1概念2.2特性3.匿名对象🌟🌟hello,各位读者大大们你们好呀🌟🌟 &#x…

类和对象(下)(一)

  • 1.再谈构造函数
    • 1.1构造函数体赋值
    • 1.2初始化列表
    • 1.3explicit关键字
  • 2.static成员
    • 2.1概念
    • 2.2特性
  • 3.匿名对象

🌟🌟hello,各位读者大大们你们好呀🌟🌟
🚀🚀系列专栏:【C++的学习】
📝📝本篇内容:再谈构造函数;static成员;匿名对象
⬆⬆⬆⬆上一篇:类和对象(中)(二)
💖💖作者简介:轩情吖,请多多指教(> •̀֊•́ ) ̖́-

1.再谈构造函数

1.1构造函数体赋值

虽然构造函数调用之后,对象中已经有了一个初始值,但是不能将其称为对对象中成员变量的初始化,构造函数体中的语句只能将其称为赋初值,而不能称作初始化。因为初始化只能初始化一次,而构造函数体内可以多次赋值。

1.2初始化列表

初始化列表:以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个“成员”后面跟一个放在括号中的初始值或表达式。
在这里插入图片描述
注意:
①每个成员变量在初始化列表中只能出现一次(初始化只能初始化一次)
在这里插入图片描述
②类中包含以下成员,必须放在初始化列表位置进行初始化:
引用变量
在这里插入图片描述
const成员变量
在这里插入图片描述
自定义类型成员(且该类没有默认构造函数时)

#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
class Time
{
public:Time(int a):_hour(0),_minute(0),_second(0){}private:int _hour;int _minute;int _second;
};class Date
{
public:Date(int year=0,int month=0,int day=0):_year(year),_month(month),_day(day),{}
private:int _year;int _month;int _day;Time _t;
};
int main()
{return 0;
}

在这里插入图片描述
大家可以试一下,会报错的,因为这个类没有默认构造函数,我们必须在初始化列表来亲自初始化它才行
在这里插入图片描述
③尽量使用初始化列表初始化,因为不管你是否使用初始化列表,对于自定义类型成员变量,一定会先使用初始化列表初始化
在这里插入图片描述
其实本质上哪个对象调用构造函数,初始化列表是它所有成员变量定义的位置
不管是否显示在初始化列表写,编译器对于每个变量都会初始化列表处定义初始化
如果成员变量有缺省值,在初始化时没有显式初始化则使用缺省值,反之则使用自己设定的初始值
④成员变量在类中声明次序就是其在初始化列表中的初始化顺序,与其在初始化列表中的先后顺序无关
在这里插入图片描述

#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
class Time
{
public:Time(int a=1):_hour(0),_minute(0),_second(0){}private:int _hour;int _minute;int _second;
};class Date
{
public:Date(int year = 0, int month = 0, int day = 0):_day(_year),_year(year),_month(month){}
private:int _year;int _month;int _day;
};
int main()
{Date dl;return 0;
}

大家可以去试一下

1.3explicit关键字

构造函数不仅可以构造于初始化对象,对于单个参数或者除第一个参数无默认值其余均有默认值的构造函数,还具有类型转换作用
在这里插入图片描述
它其实本质上就是当中产生了一个临时的匿名对象,把1作为参数构造临时的匿名对象,然后临时的匿名对象再拷贝构造给d1,但是编译器会进行优化,把构造+拷贝优化成直接构造
在C++11中允许多个参数形成隐式类型转换
在这里插入图片描述
如果想要禁止构造函数的隐式转换,用explicit修饰构造函数
在这里插入图片描述

2.static成员

2.1概念

声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之为静态成员变量,用static修饰的成员函数,称之为静态成员函数。静态成员变量一定要在类外进行初始化

class Date
{
public:Date(int year=1, int month=1, int day=1):_day(day),_year(year),_month(month){}static int Print()//静态成员函数{return count;}
private:static int count;//静态成员变量int _year;int _month;int _day;
};
int Date::count = 0;//在类外初始化

2.2特性

①静态成员为所有类对象所共享,不属于某个具体的对象,存放在静态区
②静态成员变量必须在类外定义,定义时不添加static关键字,类中只是声明
③类静态成员即可用类名::静态成员或者对象.静态成员来访问
在这里插入图片描述

#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
class Date
{
public:Date(int year=1, int month=1, int day=1):_day(day),_year(year),_month(month){}
//private:static int count;//静态成员变量int _year;int _month;int _day;
};
int Date::count = 0;//在类外初始化
int main()
{//前提是成员用的是public访问限定符Date d;cout << Date::count << endl;cout << d.count << endl;Date* p = NULL;cout << p->count<< endl;//因为单纯就是访问类内部的count静态成员变量,而count也不是某个对象所属的,//是所有类对象共享的,他存在静态区,所以说不需要解引用,直接去静态区找cout << sizeof(Date) << endl;return 0;
}

④静态成员函数没有隐藏的this指针,不能访问任何非静态成员

#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
class Date
{
public:Date(int year=1, int month=1, int day=1):_day(day),_year(year),_month(month){}static void Print()//静态成员函数{//_year=0;count++;cout << count << endl;}
//private:static int count;//静态成员变量int _year;int _month;int _day;
};
int Date::count = 0;//在类外初始化
int main()
{Date d;d.Print();return 0;
}

⑤静态成员也是类的成员,受public、protected、private访问限定符的限制

3.匿名对象

在这里插入图片描述
他的特点就是不用取名字,但是他的生命周期只有这一行,并且它具有常属性
在这里插入图片描述
可以看到它在使用完后就调用了析构函数

🌸🌸类和对象(下)(一)的知识大概就讲到这里啦,博主后续会继续更新更多C++的相关知识,干货满满,如果觉得博主写的还不错的话,希望各位小伙伴不要吝啬手中的三连哦!你们的支持是博主坚持创作的动力!💪💪

http://www.ritt.cn/news/9445.html

相关文章:

  • 承德工程建设信息网站whois查询 站长工具
  • 大庆市建设局网站数字监管如何写软文
  • 广西江荣建设工程有限责任公司网站怎么样做网站推广
  • 哪里有做旅游包车的网站网络营销推广服务
  • 网站定制公司哪家最权威十大接单推广app平台
  • 十大直播禁止下载的软件关键词优化是怎样收费的
  • 如何将网站做成app搜狗收录批量查询
  • 个人备案网站做盈利合法吗乔拓云智能建站平台
  • wordpress网站管理系统nba排名
  • 十大效果图网站营销推广模式有哪些
  • 50m专线做视频网站线上推广怎么做
  • 做电商网站注意什么百度搜索关键词规则
  • php做网站技术免费网站推广优化
  • 无锡做网站seo的搜什么关键词你都懂的
  • 辽宁营商环境建设网站医院网站建设方案
  • 做零售出口的网站今日世界杯比分预测最新
  • 内涵网站源码百度排名优化
  • 东台网站建设百度关键词搜索排名
  • wordpress图片投票插件汕尾网站seo
  • 咋么做网站在电脑上2022新闻热点10条
  • 深圳自己做网站 服务器软件外包网
  • 网站单个页面做301seo优化推广公司
  • 企业网站招聘可以怎么做推广目标怎么写
  • 郑州做网站的专业公司seo快排公司哪家好
  • 网站流量监控怎么做百度收录量查询
  • 昆明网站建设公司推荐永久免费linux服务器
  • 做网站赚钱交税我想找一个营销团队
  • Dell网站建设建议百度营销推广登录
  • 做cpa的网站源码宣传推广方式有哪些
  • adobe做网站的河南seo和网络推广