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

手机网站模板网网站开发实训报告总结2021

手机网站模板网,网站开发实训报告总结2021,wordpress访问仪表盘,做网站可以参考的网站4.类和对象(2) 文章目录 4.类和对象(2)类的六个默认成员函数(1)构造函数:构造函数特点含有缺省参数的构造函数构造函数特点(续)注意事项构造函数补充 前面总结了有关对象概念,对比 C…

4.类和对象(2)

文章目录

  • 4.类和对象(2)
    • 类的六个默认成员函数
      • (1)构造函数:
        • 构造函数特点
        • 含有缺省参数的构造函数
        • 构造函数特点(续)
        • 注意事项
        • 构造函数补充

前面总结了有关对象概念,对比 C 与 C++ 编程范式;讲解类定义、访问限定、作用域、实例化;说明类存储大小含内存对齐,即便无成员变量也占 1 字节;还阐述 this 指针特性,它是成员函数隐式形参。忘记了就回去看

类和对象(1)

类的六个默认成员函数

空类并不是什么都没有,在用户没有显式实现的情况下,编译器会默认生成六个成员函数。

在这里插入图片描述

(1)构造函数:

构造函数的函数名与类名相同,在实例化类类型对象时自动调用,并且在对象的生命周期内只调用一次,构造函数的主要作用是初始化对象,而不是创建对象

构造函数特点

1.构造函数的函数名与类名相同
2.没有返回值,不写void
3.构造函数在对象实例化后自动调用
4.支持函数重载(函数重载的规则与之前学的内容一致)可以使用缺省参数

在这里插入图片描述

特别要注意:构造函数虽然是在对象实例化时编译器自动调用该函数。但不可以把构造函数放在private或protect中

在这里插入图片描述

含有缺省参数的构造函数

在这种情况下我们可以在对象实例化时进行传参,注意:这里是传参,并不是将对象进行初始化,要与结构体初始化区分开来,这里传参使用小括号”()”不是用”{ }”

在这里插入图片描述

构造函数特点(续)
  1. 如果用户没有显式定义构造函数,C++编译器会自动生成一个无参的构造函数,但如果用户生成了编译器不再会自动生成

  2. 对于编译器自动生成的构造函数,有如下的作用:
    1>该构造函数不会对编译器内置类型对象(int,float,double,char…)进行处理

    2>该构造函数会对自定义类型调用它的默认构造函数注意默认构造函数与其他的构造函数在使用上有很大的区别,在后面会详细说),如果该自定义类型没有默认的构造函数,编译器会报错

注意事项
  • 如果该自定义类型的构造函数为全缺省参数,编译器不会报错,当构造函数的参数中存在非缺省参数时,编译器会报错

  • 无参的构造函数和全缺省的构造函数都称为默认构造函数,并且一个类中默认构造函数只能有一个。

  • 无参构造函数、全缺省构造函数,我们没写编译器默认生成的构造函数,都可以认为是默认构造函数

在这里插入图片描述

构造函数补充
  1. 一个类中默认构造函数只能有一个
  2. 一定要注意默认构造函数与普通构造函数的区别
  3. 实践中的总结
    • 1>一般情况下,构造函数都需要我们自己去定义。
    • 2>当一个类中没有内置类型成员变量,只有自定义类型变量时,我们可以对这个类不写构造函数,它会逐层调用其他自定义类型成员变量的构造函数

Q:关于编译器生成的默认成员函数,很多人会有疑惑:不实现构造函数的情况下,编译器会生成默认的构造函数。但是看起来默认构造函数又没什么用?对象调用了编译器生成的默认构造函数,但是d对象_year/_month/_day,依l日是随机值。也就说在这里编译器生成的默认构造函数并没有什么用??

A:C++把类型分成内置类型(基本类型)和自定义类型。内置类型就是语言提供的数据类型,如:int/char…,自定义类型就是我们使用class/struct/union等自己定义的类型,看看下面的程序,就会发现编译器生成默认的构造函数会对自定类型成员_t调用的它的默认成员函数。

注意:

  1. C++11中针对内置类型成员不初始化的缺陷,又打了补丁,即:内置类型成员变量在类中声明时可以给默认值。
  2. 当我们自己写了构造函数(无论是否为默认的构造函数),编译器就不会自动生成默认的构造函数了要么自己补充,要么使用关键字default强制编译器自动生成
  3. 在定义类中成员变量是进行变量声明并给出缺省值,而不是进行实例化后进行初始化,看起来非常像,但要注意区分。这里是给声明一个默认值(缺省值),当有其他值时不会使用该缺省值,包括构造函数

在这里插入图片描述

http://www.dtcms.com/a/521549.html

相关文章:

  • mwf攻防。
  • 购物网站开发 书籍wordpress+去掉阅读
  • CICD实战(9) - 使用Arbess+GitLab实现Python项目自动化部署
  • 贵州两学一做教育网站怎么做点击图片进入网站
  • 阮一峰《TypeScript 教程》学习笔记——类型系统
  • 网站如何做微信支付宝支付湖南网站排名优化公司
  • 房产网站推广做自己移动端网站
  • 江阴网站建设公司vs用户登录注册网站建设代码
  • 锁和原子变量的基础介绍
  • asp网站开发实训报告公司中英文网站建设
  • 状态机之tinyfsm
  • Spring中@Configuration注解的proxyBeanMethods属性详解
  • RSI超买信号与仓位递减结合的ETF止盈策略实现与验证
  • 浙江企业网站建设上海cms建站系统
  • 太原做app网站建设上海网站建设seo公司哪家好
  • windows 安装 nginx
  • 十六、Linux网络配置
  • wordpress多站点支付插件企业网页建设公司咨询电话
  • Linux安装nvm教程(脚本与解压缩两种方式)
  • 无锡网站制作哪家便宜遵义网站建设制作公司
  • 制作网站流程湖南易图科技发展有限公司
  • 1.1、开篇:AI如何重塑网络安全攻防格局?
  • 福州 哈尔滨网站建设 网络服务连云港市网站建设
  • 电商智能客服机器人:客服的服务革新之路
  • 网站建设及推广方案桂林两江四湖象山景区简介
  • (3)Kafka生产者分区策略、ISR、ACK、一致性语义
  • 做盗链网站上国外网站用什么dns
  • 平面设计创意网站建设嵌入式软件开发招聘
  • TraceId如何在Spring-Cloud微服务的REST调用中传递
  • 网站关键词符号怎么样提高网站点击率