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

最优秀的佛山网站建设南京宣传片制作公司

最优秀的佛山网站建设,南京宣传片制作公司,wordpress 音乐主题模板下载,广西壮族自治区民族医院 作者简介#xff1a;დ旧言~#xff0c;目前大二#xff0c;现在学习Java#xff0c;c#xff0c;c#xff0c;Python等 座右铭#xff1a;松树千年终是朽#xff0c;槿花一日自为荣。 目标#xff1a;掌握类的引用和定义#xff0c;熟悉类成员函数的… 作者简介დ旧言~目前大二现在学习JavaccPython等 座右铭松树千年终是朽槿花一日自为荣。 目标掌握类的引用和定义熟悉类成员函数的this指针。 毒鸡汤励志是给人快乐激励是给人痛苦。 望小伙伴们点赞收藏✨加关注哟  前言 还没找到对象的小伙伴们从今天开始就有对象了。为什么这么说捏因为呀C嘎嘎已经进入了类和对象开心的小伙伴们举个手手嘻嘻嘻。从今天开始我们就需要喜新厌旧了对以前的C语言看都不想看到时候你就会觉得用C嘎嘎是真的爽可能是有对象了吧。闲话少谈进入今天的课题--《类和对象上》。 ⭐主体   咱们从五大板块学习类的引入类的定义类的访问限定符及封装类的实例化类成员函数的this指针 。 这里需要简单说一下C语言是面向过程的关注的是过程分析出求解问题的步骤通过函数调用逐步解决问题。C是基于面向对象的关注的是对象将一件事情拆分成不同的对象靠对象之间的交互完成。 类的引入 C语言结构体中只能定义变量在C中结构体内不仅可以定义变量也可以定义函数。比如之前在数据结构初阶中用C语言方式实现的栈结构体中只能定义变量现在以C方式实现会发现struct中也可以定义函数。上面结构体的定义在C中更喜欢用class来代替。 简单看一下面代码 类的定义 上面的模块是引入类那c中类是如何定义的捏 class为定义类的关键字ClassName为类的名字{}中为类的主体注意类定义结束时后面分号不能省略。         类体中内容称为类的成员类中的变量称为类的属性或成员变量; 类中的函数称为类的方法或者成员函数。 咱们看下面图解 类的定义第一种方法 声明和定义全部放在类体中需注意成员函数如果在类中定义编译器可能会将其当成内 联函数处理。 图解如下 类的定义第二种方法 类声明放在.h文件中成员函数定义放在.cpp文件中注意成员函数名前需要加类名:: 图解如下 类的访问限定符及封装 在定义类时我们看到了public这个关键字大家可能看不懂其实这个关键字在c是一个类的访问限定符C实现封装的方式用类将对象的属性与方法结合在一块让对象更加完善通过访问权限选择性的将其接口提供给外部的用户使用。 看下面的访问限定符 具体有啥区别捏 public修饰的成员在类外可以直接被访问protected和private修饰的成员在类外不能直接被访问(此处protected和private是类似的)访问权限作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止如果后面没有访问限定符作用域就到 } 即类结束。class的默认访问权限为privatestruct为public(因为struct要兼容C) 类的实例化类成员函数的this指针 既然定义了类必然有它们的作用域类定义了一个新的作用域类的所有成员都在类的作用域中。在类体外定义成员时需要使用 :: 作用域操作符指明成员属于哪个类域。 看图解 既然定义了类必然占用内存一个类可以实例化出多个对象实例化出的对象占用实际的物理空间存储类成员变量。 咱们看物理图 既然定义了类那类存储又是如何捏每个对象中成员变量是不同的但是调用同一份函数如果按照此种方式存储当一个类创建多个对象时每个对象中都会保存一份代码相同代码保存多次浪费空间。那么如何解决呢 看图解 this指针 咱们先看一段代码 对于上述类有这样的一个问题         Date类中有 Init 与 Print 两个成员函数函数体中没有关于不同对象的区分那当d1调用 Init 函数时该函数是如何知道应该设置d1对象而不是设置d2对象呢         C中通过引入this指针解决该问题即C编译器给每个“非静态的成员函数“增加了一个隐藏的指针参数让该指针指向当前对象(函数运行时调用该函数的对象)在函数体中所有“成员变量”的操作都是通过该指针去访问。只不过所有的操作对用户是透明的即用户不需要来传递编译器自动完成。 注意 this指针的类型类类型* const即成员函数中不能给this指针赋值。 只能在“成员函数”的内部使用 this指针本质上是“成员函数”的形参当对象调用成员函数时将对象地址作为实参传递给this形参。所以对象中不存储this指针。 this指针是“成员函数”第一个隐含的指针形参一般情况由编译器通过ecx寄存器自动传递不需要用户传递 看图解 用c实现Stack 如果还有人不会用C语言实现栈的小伙伴们先看下面这篇博客 CSDN栈的实现 #includeiostream using namespace std;typedef int DataType; class Stack { public:void Init(){_array (DataType*)malloc(sizeof(DataType) * 3);if (NULL _array){perror(malloc申请空间失败!!!);return;}_capacity 3;_size 0;}void Push(DataType data){CheckCapacity();_array[_size] data;_size;}void Pop(){if (Empty())return;_size--;}DataType Top() { return _array[_size - 1]; }int Empty() { return 0 _size; }int Size() { return _size; }void Destroy(){if (_array){free(_array);_array NULL;_capacity 0;_size 0;}} private:void CheckCapacity(){if (_size _capacity){int newcapacity _capacity * 2;DataType* temp (DataType*)realloc(_array, newcapacity *sizeof(DataType));if (temp NULL){perror(realloc申请空间失败!!!);return;}_array temp;_capacity newcapacity;}} private:DataType* _array;int _capacity;int _size; }; int main() {Stack s;s.Init();s.Push(1);s.Push(2);s.Push(3);s.Push(4);printf(%d\n, s.Top());printf(%d\n, s.Size());s.Pop();s.Pop();printf(%d\n, s.Top());printf(%d\n, s.Size());s.Destroy();return 0; } 结束语 今天内容就到这里啦时间过得很快大家沉下心来好好学习会有一定的收获的大家多多坚持嘻嘻成功路上注定孤独因为坚持的人不多。那请大家举起自己的小说手给博主一键三连有你们的支持是我最大的动力回见。
http://www.tj-hxxt.cn/news/142515.html

相关文章:

  • 网站服务器和网站坪山新区网站建设
  • 东盟建设工程有限公司网站线上运营思路
  • 做众筹网站需要什么条件网络热词
  • 北京南站到故宫地铁怎么坐网址大全域名解析
  • 网站有必要备案吗王者荣耀网站开发目的
  • 制作团体网站博物馆网站做的最好的
  • 淄博建设网站公司做外卖网站需要多少钱
  • 建一个网站多少钱北京市保障性住房建设投资中心官方网站
  • 龙华网站建设招聘免费考研论坛
  • 江苏建设一体化平台网站上海设计网站建设
  • 泉州app网站开发价格低网页设计作业html代码大全
  • 网站调研怎样做太原论坛
  • 网站建设策划ppt海阳seo排名优化培训
  • 法律电商如何做网站推广营销wordpress忘了密码
  • ftp做网站企业网站php
  • 修改wordpress自带小工具搜索seo是什么意思
  • 福州网站关键词为审核资质帮别人做的网站
  • 质量好网站建设商家磐安网站建设公司
  • 糗事百科网站 源码wordpress 自定义功能
  • wordpress 文字插件下载seo工具助力集群式网站升级
  • 网站导航页面设计建筑公司网站源码开源
  • 搜狗站长平台打不开博山网站建设
  • 爱奇艺做任务领vip网站让wordpress支持ssl
  • 如何做盗版电影网站昆明做整站优化
  • 深圳高端营销网站网站空间怎么续费
  • 石家庄做网站需要多少钱微信企业app下载安装
  • 深圳市做网站建设seo实战
  • 聊城网站建设:推广聊城博达梅州市住房和城乡建设局官方网站
  • 做公司网站要多久天津先进网站建设指导
  • 建设银行网站转账删除网站备案与注销