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

周口高端网站建设企业门户网站建设优势

周口高端网站建设,企业门户网站建设优势,上饶建设局网站,wordpress 商品模板下载类与对象 我们在C语言中自定义的struct 叫做结构体,而在C中我们把struct升级为了类,并且还加入了一个class,也称为类,那么我们今天就来看一下结构体和类的不同和相同 1.结构体与类 我们在C语言中的结构体是struct,而…

类与对象

我们在C语言中自定义的struct 叫做结构体,而在C++中我们把struct升级为了类,并且还加入了一个class,也称为类,那么我们今天就来看一下结构体和类的不同和相同

1.结构体与类

我们在C语言中的结构体是struct,而在我们的C++中升级成了类

我们先看一下它们有什么不同

我们先看一下C语言中结构体是如何定义的,这个是我们在C语言中的结构体,如果我们像定义一个obj的对象该怎么弄?

 

我们看到就是这样,我们需要把struct也写上,所以在C语言中o变量的类型就是struct obj,那么如果我们在C++中该怎么做呢?

我们在C++中struct升级为了类,而在C++中,我们的obj就是对象名,但是我们也可以前面加struct,因为这是为了兼容C语言的语法,不过如果想在C语言中也直接使用obj也是可以的,需要在前面加typedef这个就不演示了

2.类 

既然struct在C++中升级为了类,那么C++中其他的类的特性是什么?

我们下面来看一下。

在C++中除了struct可以定义自定义类型外还可以用class来定义,我们先用struct来看一下

由于C语言的封装性太差,我们可以直接访问到类里面的对象,所以使用起来并不是特别的好,那么在C++中,我们还可以在类里面写函数,我们还加入了访问限定符(private protected public)这三个限定符的作用是有不同的作用

下面我们来看一下

2.1 访问限定符

首先是private

 这个是private,这个有什么作用呢??

如果我们想访问这里面的三个变量中的任意一个可以吗??

 

我们看到是不可以的,因为private的意思是私有,在private到下一个访问限定符之前里面的成员函数或者是成员变量都是在该类外面不可访问的,所以不可以直接这样访问

下面在看一下protected

 

如果是protected呢?

我们还是访问里面三个变量中的任意一个 

 

我们看到protected和private在这里一样都是在类外面不可访问的,这里看不出他们的区别,后面会有不一样的,这里先不说

还剩一个public

 

这时候我们还是访问里面的变量

 

这时候我们再看一下 ,我们访问能不能成功

我们看到 这时候是可以访问的,并且还可以修改

2.2 struct 和 class的区别

那么steuct和class的区别是什么呢??

同样是自定义类型他们的区别在哪里呢?

我们来看一下

如果我们不给访问限定符会怎么样?

这时候我们没有给访问限定符,我们想访问一下这里面的变量可以吗?

 

 

我们看到是可以的 

那么如果这时候我们换成class会怎么样呢??

我们现在还是访问里面的变量

 

 

我们看到是不可以访问的,并且我们看到显示stack里面的a是private的,这里说明我们的class没有给访问限定符,但是默认访问限定符是private的,而我们的struct默认访问限定符是public的

结构体和类的区别 (2)

在C语言结构体中,里面只可以放变量,但是在类中我们还可以放函数

我们来看一下,因为这样可以更好的管理

我们还可以这样,把属于这个类的函数也放在这个类里面,在类里面的函数我们成为成员函数,在类里面的函数,而会自动成为内联函数 

那么如果我们想调用这个类里面的函数怎么调用呢??

我们在类里面的函数我们直接这样调用

 我们直接  “对象.“调用

我们来看一下

我们调用成功

2. 隐藏的this指针

我们来看一个类

 我们这里有一个日期类

我们继续看

我们现在定义两个日期类的对象,并且初始化一个,然后我们就分别打印两个对象我们会发送什么呢?

 

我们一个是缺省值,另一个是给定的值

但是我们调用这个Print函数为什么会打印出不同的内容呢?也就是我们可以分别打印出d1 和 d2的值呢?

这是为什么呢??

这里直接说了,因为在我们成员函数中都有一个默认的this指针

 

就像这样,如果调用这两个函数,我们的d1. 和 d2. 分别会传入Print函数,就像这样

 

然后我们打印的时候是这样打印

 

我们就是这样调用,那么我们传入的时候也是这样

 

我们调用的时候就是把d1和d2这样传入进去

但是我们在对成员函数传参的时候,我们不能显示的传入this指针,也不能显示的在函数参数那里显示的加上this指针 

而this指针的传入1编译器就帮我们做了,所以我们也不需要显示的传,但是我们可以在函数中显示的使用

就像这样,我们可以显示的使用

正是因为有这个this指针,所以我们可以准确的打印出对应变量里面的值

所以如果我们想写这个函数的Init函数我们可以直接这样

 

我们可以这样初始化

 

我们打印看一下

 

我们看到是可以的,这个就是隐藏的this指针 

 

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

相关文章:

  • 厦门网站建设那家好深圳全网推互联科技有限公司
  • 重庆网站建设大概多少费用简约大气网站首页
  • 网站百度忽然搜索不到wordpress 重置密码忘记
  • 郑州做网站公司百度如何建设自己的网站
  • 萧县哪有做网站的做百度推广网站得多少钱
  • 乌审旗建设局网站高端网站优化公司
  • 制作企业网站的新闻西安广告公司网站建设
  • 网站页面构架本地怎样上传自己做的网站
  • 山西网站开发萍乡海绵城市建设官方网站
  • 县级林业网站建设管理手机相册备份网站源码
  • 泉州英文网站建设德阳做网站的
  • 个人网站取名平台门户建设
  • 想学网站建设选计算机应用技术还是计算机网络技术哪个专业啊效果图外包
  • 网站规划的意义教育培训机构营销方案
  • 网站被黑了火车头 wordpress 发布接口
  • 做音频后期的素材网站建站之星凡客
  • 有专门做几口农机的网站怎样用ps做网站首页图
  • 专业网站建设套餐windows优化工具
  • 做网红用哪个网站宿州保洁公司电话
  • 最新网站建设的软件新手如何免费建网
  • 做动画片的网站企业管理制度标准范本
  • cdr可以做网站页面吗一人有限责任公司
  • 天津网站建设流程wordpress焦点图插件
  • wordpress终极简码宁波seo软件
  • php 微网站开发wordpress 主题定制
  • 做营销网站代理挣钱吗搜狗关键词排名查询
  • 如何看到网站做哪些关键字网站建设丨找王科杰信誉
  • 网站基础风格创建wordpress redis 缓存
  • asp商城网站源码下载优化设计四年级语文下册答案
  • 网站开发文档带er图网店运营推广的概念