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

广州专业做网站建设/百度竞价排名一年费用

广州专业做网站建设,百度竞价排名一年费用,教育网站前置审批,做外贸网站企业1.类和对象概念 类:用来对实体(对象)进行描述,对象有什么属性,以及对象具有什么功能是一种自定义类型 对象:现实生活中所存在的 ,对象是对类的具体体现 用类类型创建出来的变量称为对象 2.类…

1.类和对象概念

类:用来对实体(对象)进行描述,对象有什么属性,以及对象具有什么功能是一种自定义类型
对象:现实生活中所存在的 ,对象是对类的具体体现
用类类型创建出来的变量称为对象

2.类的定义

class[类名]
{//类体:成员变量属性,成员变量功能
}

方法一:将类的声明和定义全部放在类中定义
方法二:在头文件中放类的声明,在源文件中放类的定义

3.类的作用域

类定义了一个新的作用域,类的所有成员都在类的作用域中。在类体外定义成员,需要使用 :: 作用域解析符指明成员属于哪个类域。

4.类的实例化

用类类型创建对象的过程,称为类的实例化

  1. 类只是一个模型一样的东西,限定了类有哪些成员,定义出一个类并没有分配实际的内存空间来存储它
  2. 一个类可以实例化出多个对象,实例化出的对象占用实际的物理空间,存储类成员变量

在这里插入图片描述
类相当于一个模型,限定了对象中有哪些属性和成员,类定义好了之后,并不能直接在类中存储数据,类定义出来的对象才可以储存数据

5.类的访问限定符及封装

1.访问限定符

C++实现封装的方式:用类将对象的属性与方法结合在一块,让对象更加完善,通过访问权限选择性的将其接口提供给外部的用户使用。

在这里插入图片描述

  1. public修饰的成员在类外可以直接被访问
  2. protected和private修饰的成员在类外不能直接被访问(此处protected和private是类似的)
  3. 访问权限作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止
  4. class的默认访问权限为private,struct为public(因为struct要兼容C)

2.封装

面向对象的三大特性:封装,继承,多态(四个时加一个抽象:对一个复杂事物的认知过程)

封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互

例:函数就是一种封装
在这里插入图片描述

6.类的对象大小计算

一个类的大小,实际就是该类中”成员变量”之和,当然也要进行内存对齐,注意空类的大小,空类比 较特殊,编译器给了空类一个字节来唯一标识这个类。

在这里插入图片描述

分析:函数没有必要在每个对象中都存一份,因为类中的成员函数只有一份,每个对象都存储时,会使对象非常大,导致空间浪费

7.类成员对象的this指针

1.this指针的引出

我们先来定义一个日期类Date

class Date
{
public:void Display(){cout << _year << "-" << _month << "-" << _day << endl;}void SetDate(int year, int month, int day){_year = year;_month = month;_day = day;}
private:int _year; // 年int _month; // 月int _day; // 日
};
int main()
{Date d1, d2;d1.SetDate(2022, 3, 1);d2.SetDate(2022, 4, 1);d1.Display();d2.Display();system("pause");return 0;
}

在这里插入图片描述

Date类中有SetDate与Display两个成员函数,函数体中没有关于不同对象的区分,那当s1调用SetDate函数
时,该函数是如何知道应该设置s1对象,而不是设置s2对象呢?

答:
C++中通过引入this指针解决该问题,即:C++编译器给每个“非静态的成员函数“增加了一个隐藏的指针参
数,让该指针指向当前对象(函数运行时调用该函数的对象),在函数体中所有成员变量的操作,都是通过该
指针去访问。只不过所有的操作对用户是透明的,即用户不需要来传递,编译器自动完成。

在这里插入图片描述

2.this指针的特性

  1. this指针的类型:类类型* const
  2. 只能在“成员函数”的内部使用
  3. this指针本质上其实是一个成员函数的形参,是对象调用成员函数时,将对象地址作为实参传递给this
    形参。所以对象中不存储this指针。
  4. this指针是成员函数第一个隐含的指针形参,一般情况由编译器通过ecx寄存器自动传递,不需要用户
    传递

3.this存在在哪里

this的地址就是在esp和edp之间,而esp和edp标记的就是Init函数的栈帧

this指针存储在栈帧上

4.this指针可以为空吗

this指针可以为空

当this指针为空时,如果成员函数中没有访问任何成员变量或者成员函数,则代码不会崩溃,否则就崩溃了

http://www.lbrq.cn/news/1099603.html

相关文章:

  • 代理建设网站/淘宝联盟怎么推广
  • 单页网站制作教程/北京搜索引擎优化经理
  • 帮建网站的人/信息推广
  • wordpress 博客地址更改/优化流程
  • 免费的网站程序哪里好/竞价广告是怎么推广的
  • e网站建设/微营销平台
  • 展示型网站 asp.net/识图
  • 南京大学特色专业建设网站/公司网站优化方案
  • wordpress网頁/桂林seo排名
  • 佛山公司做网站/长沙网站seo优化公司
  • 刷网站关/最有效的线上推广方式
  • 深圳企业推广网站/怎么开设自己的网站
  • 网站上线后如何换模版/百度客服在哪里找
  • 制作动作游戏吧中文/海外seo是什么
  • 系统门户网站建设常用功能/新闻发稿渠道
  • dw做的网站怎么被别人打开/seo代码优化包括哪些
  • 网站服务器维护方案/网上网络推广
  • 昆明做网站哪家好/企业排名优化公司
  • 网站快速设计/seo网站推广批发
  • 闲置服务器做网站挣钱/网站建设方案外包
  • 承德网站制作公司/小红书推广方式有哪些
  • 永康网站建设/舆情分析
  • 个人未授权做的网站/百度站长平台官网登录入口
  • 忻州推广型网站开发/近期出现的病毒叫什么
  • dedecms 视频网站模板/semi final
  • 中小型网站建设流程/济宁百度竞价推广
  • 做网站的app/小吃培训机构排名前十
  • 网站开发 周期/搜狗搜索推广
  • 网站建设作业多少钱/百度网站首页网址
  • 营销网站的概念/百度智能云建站
  • 零基础 “入坑” Java--- 十三、再谈类和接口
  • 深入排查:编译环境(JDK)与运行环境(JRE/JDK)不一致时的常见 Java 错误及解决方案
  • 2021 RoboCom 世界机器人开发者大赛-本科组(初赛)解题报告 | 珂学家
  • 让 Windows 用上 macOS 的系统下载与保姆级使用教程
  • linux 的list_for_each_entry
  • Linux操作系统之线程:分页式存储管理