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

华清远见25072班C++学习day3

重点内容:

一、类

1.1 概念

        1、C++中的类就是由C++中的结构体演变而来的,只是默认的访问权限和默认的继承方式,以及关键字不同,其他都相同。

        2、一般构造数据类型中 既有变量又有函数的类型,都是由类来成。

1.2 C++中结构体和类的区别:

        1、默认的访问权限:

                C++中的结构体默认访问权限是:public公共的

                C++中的类默认访问权限是:private私有的

        2、默认的继承方式

                C++中的结构体默认继承方式是:public公共的

                C++中的类默认继承方式是:private私有的

        3、关键字

                C++结构体:struct

                C++类:class

1.3 访问权限

        1、public: 该权限是共有的权限,表示该权限下的属性(变量)、方法(函数),在类内、子类、类外都可以被访问。

        2、protected: 该权限是受保护的权限,表示该权限下的属性(变量)、方法(函数),在类内、子类被被访问,类外不可以被访问。

        3、private: 该权限是私有权限,表示该权限下的属性(变量)、方法(函数),只能在类内被访问,子类、类外不可以被访问。

1.4 封装

        类的三大属性:封装、继承、多态

        封装:写一个类的过程,将数据和对数据的处理 捆绑在一起的过程。

        属性+方法                        变量+函数

1.5 当成员函数的形参名和数据成员同名时

        1、表明该数据成员属于哪个类的,即加上类名和作用域限定符

        2、类里的每个非静态成员函数,都隐藏了一个this指针形参。

1.6 this指针

        1、类里的每个非静态成员函数,都隐藏了一个this指针形参。

        2、谁使用指针 指针就指向谁

        3、this指针的原型:Student * const this; ==>指向不可变 指向里的值可变

1.7 类外定义成员函数

        1、在类内声明函数

        2、在类外定义成员函数,需要表明该函数属于哪个类的 即加上类名和作用域限定符。

二、C++中的动态内存分配和回收 (堆区)

        1、C语言中的动态内存分配和回收使用的是malloc和free来完成的

        2、C++依然可以使用上述的两个函数来完成动态分配和回收

        3、C++也为程序员提供了两个关键字new和delete来完成动态的内存分配和回收。

2.1 内存分配

2.1.1 单个申请

        格式: 数据类型 *指针名 = new 数据类型

2.1.2 连续申请

        格式: 数据类型 *指针名 = new 数据类型[个数]

2.2 回收 (释放)

2.2.1 单个回收

        格式: delete 指针名;

2.2.2 连续回收

        格式: delete []指针名;

2.3 new、delete和malloc、free的区别

        1、new、delete是关键字、而malloc、free是函数。

        2、new申请空间是以为数据类型为单位,而malloc是以字节为单位。

        3、new申请空间时可以初始化,而malloc不可以。

        4、new申请什么类型的空间,指针就是什么类型。而malloc申请空间后需要强转才能使用。

        5、new、delete区分单个连续的格式。而malloc、free函数不区分格式。

        6、new 申请类对象空间时,会自动调用构造函数,而malloc不会。

        7、delete释放类对象空间时,会自动调用析构函数,而free不会。

三、类中特殊的成员函数

        1、特殊的成员函数的种类:构造函数、析构函数、拷贝构造函数、拷贝赋值函数、移动构造、移动赋值、取地址符重载、常取地址符重载。

        2、特殊的原因:

                1、这些函数无需程序员手动定义,系统会默认提供,如果程序员手动定义了,那么系统就会取消默认提供。

                2、这些函数无需手动调用,在特定的情况下,自动调用,即使是程序员手动定义的这些函数。

3.1 构造函数

3.1.1 功能

        用类实例化一个对象时,会自动调用构造函数,给类对象申请空间和初始化使用的。

3.1.2 格式

        函数名:与类同名

        返回值:无 也无void

        参数:可以有参数,也可以无参数

        访问权限:一般为public

3.1.3 调用时机

        1、栈区        ==>何时实例化对象,何时自动调用构造函数

        2、堆区        ==>何时使用new申请类对象空间,何时自动调用构造函数


作业:

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

相关文章:

  • 南通做外贸网站网站建设视频格式
  • 网站搭建的人如何识别网页用什么网站做的
  • 下什么软件做网站wordpress升级设置密码
  • 九、Spring
  • 商业门户网站有哪些河南seo推广
  • HTML可以做彩票网站吗1元购网站怎么做
  • 深圳辰硕网站优化东莞网络营销推广公司
  • 大连 响应式网站珠海做网站的公司有哪些
  • 第三十五天:寻找质数
  • 专门做油画交流的网站泰安网站建设工作室
  • 吴恩达d2
  • 学做课件的网站wordpress建站需要学什么意思
  • 营销型网站建设主要教学内容赣州人才网招聘网
  • 网站建设和维护要点wordpress搭建的博客
  • 《道家理论 与现代物理前沿理论对照表》
  • 本网站只做信息展示不提供在线交易wordpress壁纸主题
  • 政务公开及网站建设意见电子商务营销手段有哪些
  • 电感式传感器
  • 山东通信安全员A证考试的难度如何?
  • 网站建设明细费用知名品牌网站有哪些
  • 广东省建设厅的注册中心网站整站优化报价
  • GESP C++5级 2025年6月编程2题解:最大公因数
  • 做搜狗网站优化首页软英文建站平台有哪些
  • 网站项目维护费用宣传片制作合同范本
  • 安宁网站建设 熊掌基于.net平台网站内容管理系统研究与实现
  • 什么是 glTF:完整指南
  • 怎样360网站做推广域名申请网站
  • 营销型网站软件下载网站模板后本地的网站会自动做跳转
  • 建设银行银行号查询网站网页与网站设计
  • 深圳网站建设信科网络建设厅八大员在哪个网站查询