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

网站建设免责申明书美食类网站开发说明书

网站建设免责申明书,美食类网站开发说明书,海南注册公司的利弊,电子商务网站开发教程目录 一、构造函数 二、析构函数 三、赋值运算符 四、拷贝构造 如果一个类中没有成员,我们称为空类。空类,也存在6个默认的类成员函数。 默认成员函数:用户不显示地写,编译器会默认生成的函数叫做默认成员函数。 6个默认成员…

目录

一、构造函数

二、析构函数

三、赋值运算符

四、拷贝构造


如果一个类中没有成员,我们称为空类。空类,也存在6个默认的类成员函数。

默认成员函数:用户不显示地写,编译器会默认生成的函数叫做默认成员函数。

6个默认成员函数:
构造函数:完成对象初始化               析构函数:完成对象清理

拷贝构造:用同类对象构造新类        赋值重载:把一个对象赋给另一个对象

取地址重载:很少涉及

一、构造函数

在C语言中,一个数据结构的模拟首先要完成初始化,就拿栈举例子:

初始化要确定top,确定开辟的空间,和数组的初始容量。如果没有完成这一初始化会出现诸多问题,为了防止遗忘类的初始化,引入构造函数。

在类的创建时自动调用,用来进行初始化。

1.特性:

1)名称与类名相同,没有返回值。

2)不是开空间创建对象,是在实例化后自动调用。

3)可以重载

拿日期类举例子

.构造函数可以是重载   重载要注意二义性

.关于重载的调用

在调用无参构造函数时 不可写成  Date d1();否则编译器将认为这是一个函数声明

.在函数重载中给缺省值

关于带参函数给全缺省,那么它与无参构造函数都为默认构造函数,不需要用户显示调用,编译器就能初始化。

默认构造函数只能出现一个,全缺省不能与无参构造函数同时出现。

 在类中既有无参构造函数和全缺省构造函数,编译器能通过编译 但在创建对象时会出现二义性,不知道调用哪个函数,会出错。

5)编译器会生成默认的构造函数

如果用户没有自己显示的实现一个构造函数,那么编译器会生成一个无参的默认构造函数。

编译器生成的默认构造函数特点:

内置类型初始化为随机值自定义类型会调用其的构造函数。

 类B的默认构造函数在初始化时aa时,会调用A的构造函数,而b初始化为随机值。

6)初始化列表

 对于引用和const类型的对象,在定义时必须进行初始化,而构造函数的函数体为赋值语句,无法进行初始化;

因此引入初始化列表,在对象创建时即完成初始化工作。

初始化列表:以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个"成员变量"后面跟
一个放在括号中的初始值或表达式

 注意:

每个成员在初始化列表只能出现一次

引用和常对象,需要传参的自定义类型必须在初始化列表中初始化;

初始化列表的初始化顺序只与类对象声明顺序有关;

二、析构函数

在一个类对象结束,要进行动态内存的释放。为了防止用户遗忘,引入析构函数,在对象生命周期结束时,自动调用,完成对象的内存清理工作。

 特性:
1)函数名为 类名前加~  (表示与构造函数相对)

2)没有参数 ,没有返回值

3)编译器会生成默认构造函数
与构造函数一样,用户没有显示写析构函数时,编译器会自动生成析构函数

内置类型不做回收自定义类型调用的析构函数。

4)调用顺序类似栈结构,创建的类,调用析构函数。

三、赋值运算符

C++为了增强代码的可读性,引入赋值运算符=

赋值运算是针对俩个已经存在的类;

关键字:operator =  有函数参数和返回值

 

特性:

1)在用户不显示写时,编译器会生成默认赋值运算符,其的特点是浅拷贝

浅拷贝:将目标一个字节一个字节的拷贝给目的地

涉及一块空间的拷贝不能用浅拷贝:同一块空间不能连续释放两次;因此用户自定义赋值运算符重载就非常有必要。

2)返回值是T&,减少传值的拷贝,可以连续拷贝   

     参数类型const T&  防止被错误修改

3)隐藏第一个参数this指针  ,检查拷贝的来源是否为自己

3)不可重载为全局函数

全局函数没有this指针,需要传所有参数

四、拷贝构造

将已经存在的类,拷贝给一个新类;

其是构造函数的一个重载

 在传参时必须用引用接收参数;

否则 不带引用;会发生无限递归

要拷贝构造就要传参  传参就要调用拷贝构造  调用拷贝构造就要传参 ..........会发生无限递归

1)用户不显示写时,编译器会产生默认拷贝构造函数,是浅拷贝;

在涉及动态空间时,必须显示实现一个拷贝构造函数,否则会发生同一块空间释放俩次;

2)对象返回时,能返回引用,尽量返回引用,提高效率;

区别拷贝构造和赋值的调用

 拷贝构造是一个存在的类对象,赋值是俩个类都存在;

———————————————————————————————————————————

本期的C++默认成员函数的介绍就到这。还有俩个默认的成员函数,但是基本上用不到 ,就不做介绍,对于构造函数是重要的一项,希望本文对大家有所帮助!

http://www.yayakq.cn/news/123054/

相关文章:

  • 重庆招标信息网上海seo优化外包公司
  • 扶贫办网站建设英文版网站怎么做
  • 门户网站需要多少费用wordpress 移动端页码
  • 搜狗站长工具熊猫采集 wordpress 发布
  • 哪些网站可以做ppt免费房屋设计app
  • 中山 网站建设开发备案 网站 收录
  • 中国住房城乡建设部网站首页数据分析师要学什么
  • 上海营销型网站seo广东外贸网站推广
  • 网站开发是在电脑上打出来的资料么产品经理兼职做网站报酬
  • 站内优化正规的网站制作开发
  • app手机网站建设西樵网站开发
  • 网站设计有哪些外贸出口新三样
  • 做网站ddos攻击wordpress注册码插件
  • 滨州网站设计商城外贸网站设计
  • 网站服务器过期了360建筑网登录
  • 网站建设规划书百度文库Wordpress收款方式
  • 有哪些网站用mysql网站后台ftp替换图片怎么做
  • 郑州做网站公司有哪些泉州定制网站建设
  • 互动网站设计网站制作常见的问题
  • 餐厅网站建设方案轻量级网站开发
  • 网站分站加盟不会PS怎么建网站
  • 竞价页面网站做优化seo搜索优化专员招聘
  • 网站速度优化在线直播教学网站是怎么做的
  • 浙江省嘉兴市建设局网站php网站建设素材
  • 做网站代理拉别人网站典当 网站
  • 荣成信用建设官方网站专业维护网站的公司
  • 关于未备案网站什么叫网站策划书
  • 住房和城乡建设部网站住房补贴免费发布信息平台大全
  • 成都网站建设 哪家比较好网站搭建制作
  • 进行网站建设广东企业网站建设报价