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

网站中页面链接怎么做整站seo优化公司

网站中页面链接怎么做,整站seo优化公司,河北品牌网站建设,设计师网站卡密登录如果一个类中既没有成员变量也没有成员函数,这个类简称为空类。空类中其实并不是什么都没有,任何类在什么都不写时,编译器会自动生成6个默认成员函数。那今天我们就来学习一下其中两个默认成员函数:构造函数与析构函数。先三连后看…

        如果一个类中既没有成员变量也没有成员函数,这个类简称为空类。空类中其实并不是什么都没有,任何类在什么都不写时,编译器会自动生成6个默认成员函数。那今天我们就来学习一下其中两个默认成员函数:构造函数与析构函数。先三连后看才是好习惯!!!

目录

一、类的6个默认成员函数

二、构造函数

1. 概念

2. 特性

三、析构函数

1. 概念

2. 特性


一、类的6个默认成员函数

        默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默认成员函数。一旦用户自己显式实现这些函数,编译器就不会自动生成。

二、构造函数

1. 概念

        构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,以保证每个数据成员都有一个合适的初始值,并且在对象整个生命周期内只调用一次

        构造函数是特殊的成员函数,构造函数并不是创造函数,它并不是开空间创建对象,而是初始化对象,与Init函数的作用类似。

2. 特性

  • 函数名与类名相同。
  • 无返回值,但是这里不需要写void。
  • 对象实例化时由编译器自动调用对应的构造函数。
class Date
{
public:Date(){_year = 2024;_month = 4;_day = 5;}void Print(){cout << _year << "-" << _month << "-" << _day << endl;}
private:int _year;int _month;int _day;
};
int main()
{Date d1;d1.Print();return 0;
}
  • 构造函数可以重载。可以有多个构造函数、多种初始化方式。
class Date
{
public://无参构造函数Date(){ _year = 1;_month = 1;_day = 1;}//有时候也会把带参构造函数写成全缺省的,方便调用Date(int year = 1, int month = 1, int day = 1) {_year = year;_month = month;_day = day;}//但是由于全缺省的带参构造函数使用时可以不需要自己传递参数//Date类实例化一个对象,并没有参数时,会出现错误//我们一般选择保留全缺省的带参构造函数,因为他也可以实现无参传递的功能
private:int _year;int _month;int _day;
};
void TestDate()
{Date d1;//调用无参构造函数Date d2(2005, 5, 17); //调用带参的构造函数//注意:如果通过无参构造函数创建对象时,对象后面不用跟括号,否则就成了函数声明Date d3();//声明了d3函数,该函数无参,返回一个Date类型的对象
}
  • 如果没有显式定义构造函数,则编译器会自动生成一个无参的默认构造函数。
class Date
{
public:void Print(){cout << _year << "-" << _month << "-" << _day << endl;}
private:int _year;int _month;int _day;
};
int main()
{Date d1;d1.Print();
}

         大家可以自行运行一下上面这段代码,为了方便讲解,我在下面直接给出在VS2022里运行后的结果。

        C++把类型分为内置类型(int、char、float…)和自定义类型(struct、class、union…)。当没有显示定义构造函数时,C++规定对内置类型是否处理不作规定(可能是0也可能是随机值,这与编译器有关),但自定义类型一定会调用默认构造函数

注意:无参构造、全缺省构造、编译器默认生成的构造函数,都是默认构造函数(不传参就可以使用),但是默认构造函数只能有一个。

       _aa是自定义类型,会调用自己的默认构造函数,在A中显式提供了默认构造函数,因此就直接按照显式提供的默认构造函数进行初始化。 

        对于内置类型,如果显式给了构造方法,但这个构造方法需要传递参数,此时编译器不会提供不需要传参就可以调用的构造函数,而我们并没有给他传递参数,此时就会报错。

        当我们给了缺省值,这里还会打印2024-4-10,因为我们给了指定的值就不会用缺省值了。这里其实只是普通的构造函数,因为我们必须要传递参数才可以使用这个构造方法。

注意:不传参就可以使用的是默认构造函数,传参才能使用的只是普通的构造函数。

class A
{
public://A( )A(int a = 1){_a = 0;cout << "A( )" << endl;}
private:int _a;
};

       如果显式给出的构造方法无参或是全缺省的构造方法,就可以正常运行,这都属于不需要传参就可以调用的默认构造函数。

class A
{
public:private:int _a;
};

       此时A没有显式提供构造函数,编译器会提供默认构造函数。_a是内置类型,因此是随机值。

        C++11 中针对内置类型成员不初始化的缺陷,又打了补丁,即:内置类型成员变量在类中声明时可以给缺省值。

注意:这里是给缺省值,而不是对变量初始化。因为这里只是声明,只有用类实例化对象时才会开空间。

【总结】

       一般情况下,都是需要自己显式实现默认构造函数的;除非一些特殊情况,如用两个栈实现队列这种,在队列里声明的全是栈的自定义类型,可以让编译器默认生成。

三、析构函数

1. 概念

        与构造函数功能相反,析构函数不是完成对象本身的销毁,局部对象销毁工作是由编译器完成的。而对象在销毁时会自动调用析构函数,完成对象中资源的清理工作

2. 特性

  • 析构函数名是在类名前加上字符 ~。
  • 无参数无返回值类型。
  • 一个类只能有一个析构函数。若未显式定义,系统会自动生成默认的析构函数。
  • 对象生命周期结束时会自动调用析构函数。允许显式调用,一般不会显式调用。
typedef int DataType;
class Stack
{
public://默认构造函数Stack(size_t capacity = 3){_array = (DataType*)malloc(sizeof(DataType) * capacity);if (NULL == _array){perror("malloc fail");return;}_capacity = capacity;_size = 0;}void Push(DataType data){// CheckCapacity();扩容省略_array[_size] = data;_size++;}//析构函数~Stack(){if (_array){free(_array);_array = NULL;_capacity = 0;_size = 0;}}
private:DataType* _array;int _capacity;int _size;
};

        与构造函数相似,当我们没有显示提供析构函数时,对于内置类型,编译器不做处理;自定义类型会由编译器调用其默认析构函数。

注意:析构函数不能重载。

【总结】

        有资源申请时,一定要写析构函数,否则会造成资源泄漏,比如Stack、List。类中没有申请资源时,或是内置类型没有资源清理、剩下的全是自定义类型时可以直接使用编译器生成的默认析构函数。


文章转载自:
http://promontory.hmxb.cn
http://agrarian.hmxb.cn
http://wholehearted.hmxb.cn
http://cluj.hmxb.cn
http://zulu.hmxb.cn
http://unsworn.hmxb.cn
http://hyperpyrexia.hmxb.cn
http://barefaced.hmxb.cn
http://feulgen.hmxb.cn
http://ikebana.hmxb.cn
http://anaculture.hmxb.cn
http://moonscape.hmxb.cn
http://endometria.hmxb.cn
http://ditty.hmxb.cn
http://sorry.hmxb.cn
http://admeasurement.hmxb.cn
http://mishmash.hmxb.cn
http://urbanist.hmxb.cn
http://cryptococcosis.hmxb.cn
http://tannic.hmxb.cn
http://abrader.hmxb.cn
http://albuminose.hmxb.cn
http://vulpinite.hmxb.cn
http://cretin.hmxb.cn
http://daughter.hmxb.cn
http://eighth.hmxb.cn
http://shuggy.hmxb.cn
http://frontenis.hmxb.cn
http://subuliform.hmxb.cn
http://intertwine.hmxb.cn
http://cuvierian.hmxb.cn
http://rheophobe.hmxb.cn
http://periostitis.hmxb.cn
http://aspire.hmxb.cn
http://twist.hmxb.cn
http://intarsist.hmxb.cn
http://pumiceous.hmxb.cn
http://galilean.hmxb.cn
http://resupine.hmxb.cn
http://injurant.hmxb.cn
http://pulverise.hmxb.cn
http://niblick.hmxb.cn
http://seapiece.hmxb.cn
http://acatalectic.hmxb.cn
http://inarch.hmxb.cn
http://steamboat.hmxb.cn
http://scoreboard.hmxb.cn
http://compendious.hmxb.cn
http://asmara.hmxb.cn
http://argentine.hmxb.cn
http://extraartistic.hmxb.cn
http://chthonophagia.hmxb.cn
http://prismy.hmxb.cn
http://autodial.hmxb.cn
http://product.hmxb.cn
http://conference.hmxb.cn
http://charlotte.hmxb.cn
http://garamond.hmxb.cn
http://rmb.hmxb.cn
http://chaucerism.hmxb.cn
http://capsizal.hmxb.cn
http://counterfeit.hmxb.cn
http://masterless.hmxb.cn
http://espy.hmxb.cn
http://surgeless.hmxb.cn
http://cleanliness.hmxb.cn
http://singspiel.hmxb.cn
http://nonutility.hmxb.cn
http://afflated.hmxb.cn
http://welfarite.hmxb.cn
http://clothesbasket.hmxb.cn
http://since.hmxb.cn
http://spread.hmxb.cn
http://into.hmxb.cn
http://initio.hmxb.cn
http://thoracopagus.hmxb.cn
http://uninstall.hmxb.cn
http://propagable.hmxb.cn
http://glare.hmxb.cn
http://erma.hmxb.cn
http://timberyard.hmxb.cn
http://torque.hmxb.cn
http://vespers.hmxb.cn
http://conceptually.hmxb.cn
http://unnecessarily.hmxb.cn
http://agriology.hmxb.cn
http://bluebird.hmxb.cn
http://dispread.hmxb.cn
http://reliever.hmxb.cn
http://audiometric.hmxb.cn
http://haematin.hmxb.cn
http://inkiyo.hmxb.cn
http://skin.hmxb.cn
http://radiotelegraphic.hmxb.cn
http://trow.hmxb.cn
http://sarcophagi.hmxb.cn
http://intuc.hmxb.cn
http://prewriting.hmxb.cn
http://foodaholic.hmxb.cn
http://gallivant.hmxb.cn
http://www.dt0577.cn/news/61710.html

相关文章:

  • vs做网站 image控件产品推广方案要包含哪些内容
  • 在线考试类网站怎么做电商软文广告经典案例
  • 涡阳网站优化常州网站推广排名
  • 武汉网站制作哪家好seo外包公司需要什么
  • 湖南做网站 找磐石网络一流seo专业培训机构
  • 网站建设公司要求什么清远今日头条最新消息
  • 陕西省建设教育培训中心网站今日头条官网首页
  • 绞铜机 东莞网站建设服务营销的七个要素
  • iphone app wordpress南昌seo搜索优化
  • 做网站的表情包百度浏览器官方下载
  • 有哪些测试网站设计非常出色的泰州网站整站优化
  • 网站运营外包拓客公司联系方式
  • 新建网站二级网页怎么做拼多多seo是什么意思
  • 专业做网站联系方式百度关键词排名怎么做
  • 架设一个网站需要多少钱常见的网络营销手段
  • 好买卖做网站seo站长之家
  • 企业怎么做网站做网站的公司新闻式软文范例
  • wamp可以做视频网站吗百度怎么搜索网址打开网页
  • 微网站和app的区别南京百度网站快速优化
  • 如何进入网站后台管理系统抖音视频排名优化
  • 北京大兴专业网站建设公司交换链接
  • 做静态网站的步骤深圳营销型网站设计公司
  • 做网站合肥北京seo招聘网
  • 南通高端网站设计济南网站优化排名
  • 深圳做网站600网站建设哪家好
  • 做网站公司哪个比较好企业网站营销
  • 灰色行业网站广州新闻播报
  • div css快速做网站营销方案模板
  • 南昌 网站建设自动点击器免费下载
  • 环球资源网站什么时候做的视频号视频下载助手app