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

外贸网站推广招聘杭州做小型app的公司

外贸网站推广招聘,杭州做小型app的公司,手机网站 免费 html,公众号投票一、六大默认成员函数 默认成员函数是用户没有显式实现,编译器自动生成的成员函数。 一个类,我们在不写的情况下,编译器会默认生成六个默认成员函数 本文详细介绍构造函数和析构函数 二、构造函数 构造函数虽名为构造函数,但是…

一、六大默认成员函数

默认成员函数是用户没有显式实现,编译器自动生成的成员函数。
一个类,我们在不写的情况下,编译器会默认生成六个默认成员函数
在这里插入图片描述
本文详细介绍构造函数和析构函数

二、构造函数

构造函数虽名为构造函数,但是这个函数并不开辟空间创建对象(经常使用的局部对象是栈帧创建的)
构造函数的功能是:在对象实例化时初始化对象,类似于我们以前写的Init()函数
CPP引入构造函数,我们也就可以代替Init()函数了

构造函数的特点:

  • 函数值与类名相同
class Info{
public:
// 构造函数Info(){//...}
private:
//...
};
  • 无返回值(啥都不需要给,void也不用)
  • 对象实例化时(创建对象)系统会自动调用对应的构造函数
  • 支持重载,可以根据参数不同定义多个构造函数
  • 如果没有显式定义构造函数,CPP的编译器会自动生成一个无参的默认构造函数,一旦显式定义就不会生成

构造函数的类型

  1. 默认构造函数
    默认构造函数分为无参构造函数编译器自动生成的构造函数全缺省构造函数
    这三个函数有且只能存在一个:
    在这里插入图片描述

无参构造函数和 全缺省构造函数虽能构成函数重载,但是会产生调用歧义
总结一下: 默认构造函数是不用传实参的构造函数

class Info {
public:// 无参的默认构造函数Info() {_name = "UnKnow";_age = 0;}void Print() {cout << " 默认构造函数被调用" << endl;cout << _name << "  " << _age << endl;}
private:string _name;int _age;
};int main() {Info I1;I1.Print();
}

在这里插入图片描述

  1. 带参数的构造函数
class Info {
public:// 带参的构造函数Info(string name, int age) {_name = name;_age = age;}void Print() {cout << " 默认构造函数被调用" << endl;cout << _name << "  " << _age << endl;}
private:string _name;int _age;
};int main() {// 调用带参数的构造函数Info I2("kunkun", 18);I2.Print();
}

在这里插入图片描述

编译器自动生成的默认构造函数深度剖析

我们如果没有显式定义构造函数,编译器自动生成的构造函数会将对象初始化成什么呢?
类型的分类:
在这里插入图片描述

  • 内置类型:没有规定要处理(可处理可不处理,看编译器类型)
    在这里插入图片描述

  • 自定义类型:调用自定义类型对象的默认构造函数,本质是不断套娃,深挖!!!

在这里插入图片描述
分析一下:

D1这个对象中有三个内置类型成员变量和一个自定义类型成员变量,不写构造函数,首先自动生成Date()的默认构造函数,到private中发现三个内置类型,则不做处理,有个自定义类型_t,则去调用Time()的构造函数,发现有构造函数,则按照构造函数初始化命令初始化,如果Time()没有构造函数呢?那么_hour _minute _second也是内置类型,不做处理

在这里插入图片描述
注意:没有默认构造函数会报错
在这里插入图片描述

三、析构函数

析构函数构造函数功能相反,析构函数不是销毁对象,比如局部对象存在栈中,函数栈帧结束就自动销毁释放内存。
析构函数的功能是在对象销毁时完成对象中资源的清理释放
析构函数的功能类似于Destroy(),析构函数就可以完美替代Destroy()

析构函数的特点

  • 无参数无返回值,与构造函数类似
  • 函数名与类名相同,在类名前加字符 “~” eg:Name()
  • 一个类只能有一个析构函数,所以析构函数不能重载如果没有显式定义,系统会自动生成默认的析构函数
  • 对象生命周期结束,会自动调用析构函数
  • 与构造函数相同,编译器自动生成的析构函数对内置类型不做处理,对自定义类型则会调用它的析构函数
    注意:我们显式写析构函数,自定义类型成员会调用它的析构函数,换句话说,自定义类型成员无论什么情况下都会调用析构函数

析构函数的语法

class Test {
public:Test() {cout << "构造函数调用成功" << endl;}~Test() {cout << "析构函数调用成功" << endl;}
private:
};int main() {cout << "程序开始运行" << endl;{Test T;// 构造函数被调用}// T生命周期结束cout << "程序运行结束";
}

在这里插入图片描述
总结:

  • 有资源需要手动清理,需要写析构函数
  • 有两种场景不需要写析构函数,利用默认生成的即可:
    1. 没有资源需要清理,例如:Date()日期列表全是局部成员
    2. 内置类型没有资源需要清理,剩下的全是自定义类型成员,且这些类有正确的析构函数 eg:
public:Engine() { std::cout << "Engine created.\n"; }~Engine() { std::cout << "Engine destroyed.\n"; }
};class Car {
public:Engine engine;int speed;
}; // Car的析构函数不需要手写

文章转载自:

http://pRHTWeSx.jqbmj.cn
http://SGDKBr6u.jqbmj.cn
http://w1mYvdQd.jqbmj.cn
http://FLIb9117.jqbmj.cn
http://T3QFHHzy.jqbmj.cn
http://ordfRbC4.jqbmj.cn
http://jJxnYl77.jqbmj.cn
http://JWWARkU2.jqbmj.cn
http://yIxyAkvC.jqbmj.cn
http://oiOm3vW8.jqbmj.cn
http://eBk6rLej.jqbmj.cn
http://gjxeNOqD.jqbmj.cn
http://kOczD2xc.jqbmj.cn
http://4kf7qZrQ.jqbmj.cn
http://xAKN4MIo.jqbmj.cn
http://ThLNNiiL.jqbmj.cn
http://3IweZSgr.jqbmj.cn
http://78jpOioP.jqbmj.cn
http://FwoETDvA.jqbmj.cn
http://JOjvWkZV.jqbmj.cn
http://6VQLe864.jqbmj.cn
http://xSidBJde.jqbmj.cn
http://e4aB7A3K.jqbmj.cn
http://pymTPfyw.jqbmj.cn
http://JcQ200Rx.jqbmj.cn
http://vVFLtF68.jqbmj.cn
http://vsoeXpWz.jqbmj.cn
http://OGZEFrGE.jqbmj.cn
http://nCk2ADUF.jqbmj.cn
http://c77ESqCE.jqbmj.cn
http://www.dtcms.com/wzjs/610318.html

相关文章:

  • 怎么给网站wordpress上海金山网站建设
  • 做网站将文字放在图片上网站备案重要性
  • 单网页网站制作电商中seo是什么意思
  • 网站如何做才能被360收录卫龙的网站做的污污分
  • 个人网站的搭建一个网站备案多个域名
  • 电子商务网站建设课程总结界面设计图片 作品
  • 建设微信网站制作企业网站带新闻发布功能的建站
  • 建网站没有公司资质做微信图文推送的网站
  • 做网站首页看不到图片php双语网站
  • 平面设计与网站开发的概述如何注册企业邮箱免费
  • 网站制作青岛做网站不好做
  • 网站开发器编程网页
  • 平易云 网站建设国外装修网站模板
  • 沈阳沈阳建设工程信息网站杭州网站改版
  • 一般招聘网站有哪些网站建设和推广方案
  • 网站开发前端如何开发server2008部署网站
  • 长安建网站公司桂林象鼻山照片
  • aspnet网站开发视频广州企业建站公司
  • app模板网站工业软件开发公司
  • 做一个企业网站需要多长时间建设明星网站的目的
  • 延吉网站建设多少钱盐城seo优化
  • python做网站步骤大连网站设计哪个最好
  • 做网站哪家正规开广告店要懂哪些技术
  • 留电话的广告网站个人响应式网站设计
  • 荷兰网站开发价格怎样在百度上建网站
  • 浏览器网站设置在哪里电子商务网站会员体系
  • 网站模板 手机网站技术支持是什么
  • 网站在电脑与wap显示一样搬家网站建设公司
  • 即墨网站建设招聘hao123网站难做吗
  • 重庆最火的网站宁波创世纪网络科技有限公司