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

潍坊哪里做网站lnmp下安装wordpress

潍坊哪里做网站,lnmp下安装wordpress,网站基础建设和维护,佛山高端网站建设工作室目录 前言 正文 类封装 为什么要进行类封装 概念 访问修饰符 构造函数 概念 特点 析构函数 概念 特点 再谈面向过程与面向对象 面向过程 代码举例 面向对象 代码举例 结语 下期预告 前言 在学习过【C语言进阶C】 C基础--让你丝滑的从C语言进阶到C 之后】 C基础--让你丝滑的从C语言进阶到C 之后相信小伙伴们已经对C面向对象的思维和C中的一些语法有一定的了解了那么我们继续往下学习本次要学习的内容非常重要那就是---类它会在接下来的学习道路上扮演十分关键的角色。大家好好看好好学 正文 类封装 为什么要进行类封装 C语言中一般是由数据和算法组成数据和算法彼此独立关联性不强在C中将相互关联数据和算法封装起来形成结构体或类无论类还是结构体都是一个抽象的概念只有定义类的变量时数据才会真实存在这个变量我们称之为对象C程序过程中尽量避免单独的数据和算法而是由一个类对象组成的这就是面向对象。 概念 类class完成某一功能的数据和算法的集合是一个抽象的概念。 对象类的一个实例具体的概念是真正存在于内存中的。 定义类的关键字class类名一般以大写的C开头成员属性一般以m_开头。 class CTest {int m_a; //成员属性成员变量void show(); //成员方法成员函数 }; 访问修饰符 类成员访问修饰符描述了类成员的访问控制即所能使用的一个范围共有的public、保护的protected、私有的private默认。 public        对外公开在类内、类外都可以使用。 protected   在类内和子类中可以使用。 private       只能在类内使用。 对于类内的私有成员我们可以提供访问接口get***,set***来按照一定的规则进行访问。 构造函数 概念 通常在定义变量时要初始化在定义类对象时成员属性并没有得到初始化。C类提供了一种特殊的函数——构造函数。 构造函数其作用是用来初始化类成员属性。空类中存在一个默认的无参数的构造函数名为当前类名无返回值。 class CTest {CTest (){} //默认无参构造 }; 特点 构造函数并不需要我们手动调用在定义对象的时候会自动调用这个默认的无参构造是编译器给提供的函数体代码为空所以在定义对象时虽然调用了但并没有真正给成员初始化。所以多数情况下需要我们手动重构构造函数。 一个类中的构造函数允许存在多个他们是函数重载的关系重构的构造函数可以指定参数来符合我们需要的初始化过程。 注意 只要重构了任何的构造函数编译器将不会再提供那个默认的无参构造了。定义多个对象可能会执行不同的构造这就要看在定义对象时如何指定参数了会根据参数的类型、数量自动匹配对应的构造但一个对象最终只能执行其中一个构造。 析构函数 概念  析构函数与构造函数相对应的析构函数其作用是用来回收类中成员申请的额外空间而不是对象本身。空类中存在一个默认的析构函数函数名为~类名无返回值无参数。 class CTest { ~CTest(){ } //默认构造 }; 特点 构造函数在对象的生命周期结束的时候自动调用编译器提供的默认的析构函数体代码也为空我们可以手动重构一旦重构编译器就不会再提供那个默认析构了与构造不同的是析构函数只允许存在一个。 注意 析构在真正回收对象内存空间之前去调用额外的空间回收完后才真正回收对象内存空间。 再谈面向过程与面向对象 面向过程  面向过程编程Procedure-Oriented Programming简称POP是一种编程模型也是初始踏入编程时接受的思想过程即有一系列要执行的计算步骤以过程为中心依次把要解决问题的步骤、流程分析出来用函数封装好形成一个一个的模块在主流程中按照具体的步骤调用相应的函数。 面向过程编程的主体是函数模块它以函数为中心始终关注的是怎么一步一步解决问题从而实现函数的顺序执行。 总结自上向下顺序执行、逐步细化。 代码举例 把大象放进冰箱 void OpenRefrigerator(){cout 用手抓住冰箱门把手 endl;cout 缓慢打开门 endl;cout 拉到一定大的角度 endl; }void PushElephant(int * p_refrig,int h_refrig,int h_ele){cout 找到冰箱的最大格子 endl;if(h_refrig h_ele){cout 压缩一下大象 endl;h_ele 5;}p_refrig h_ele;cout 大象放到冰箱里 endl; }void CloseRefrigerator() {cout 开始推动冰箱门 endl;cout 继续推动冰箱门 endl;cout 冰箱门严丝合缝 endl; }int main() {int heightEle 10; //大象的高度int heightRefrig 10; //冰箱的高度int * pEle nullptr; //冰箱里装的东西//---------开始打开冰箱-------------------OpenRefrigerator();//----------结束打开冰箱--------------------//----------开始装大象--------------------PushElephant(pEle,heightRefrig,heightEle);//----------结束装大象------------------------//----------开始关闭冰箱----------------------CloseRefrigerator();//-----------结束关闭冰箱---------------------return 0; } 面向对象  面向对象编程Object-oriented programming简称OOP面向对象编程是一种编程模型以对象数据为中心它把要解决的问题分解成各个对象变量、数据而不是各个流程、步骤更专注于对象与对象之间的交互而不是数据和方法、方法与方法建立对象的目的不是为了完成一个步骤而是为了描述某个对象在解决整个问题步骤中的属性和行为。涉及到的属性和方法都被封装到一起包含在其内部。 世界上的每个事物都可以是一个独立的对象其都有自己的属性和行为对象与对象之间通过方法来交互。 面向对象编程的分析问题步骤分析问题中参与其中的哪些实体这些实体应该有什么属性和方法我们如何通过调用这些实体的属性和方法去解决问题。现实世界中任何一个操作或者是业务逻辑的实现都需要一个实体来完成实体就是动作的支配者没有实体就没有动作发生。 代码举例 //定义大象的类 class CElephant { public: int heightEle; public:CElephant(int h) :height(h) {} };//定义冰箱类 class Refrigerator { public:int heightRefrig;CElephant* pEle; public:Refrigerator(int h) :heightRefrig(h),pEle(nullptr){}void OpenRefrigerator() {cout 用手抓住冰箱门把手 endl;cout 缓慢打开门 endl;cout 拉到一定大的角度 endl;}void PushElephant(CElephant ele){cout 找到冰箱的最大格子 endl;if(heightRefrig ele.heightEle) {cout 压缩一下大象 endl;ele.heightEle 5;}pEle ele;cout 大象放到冰箱里 endl;}void CloseRefrigerator() {cout 开始推动冰箱门 endl;cout 继续推动冰箱门 endl;cout 冰箱门严丝合缝 endl;} };int main() {Refrigerator refrig(10);CElephant ele(10);//---------开始打开冰箱-------------------------refrig.OpenRefrigerator();//----------结束打开冰箱------------------------//----------开始装大象------------------------refrig.OpenRefrigerator();//----------结束装大象------------------------//----------开始关闭冰箱------------------------refrig.CloseRefrigerator();//----------结束关闭冰箱------------------------return 0; } 结语 下期预告 下次我们准备用C封装链表并且写一个马里奥移动的小练习
http://www.w-s-a.com/news/4466/

相关文章:

  • 写作网站哪个网站做ic外单好
  • 苏州和城乡建设局网站撸撸撸做最好的导航网站
  • 网站被同行抄袭怎么办深圳中装建设集团
  • 建站及推广瓦房店 网站建设
  • 怎么查网站是在哪里备案的广州电力建设有限公司网站
  • 做网站自己申请域名还是对方wordpress管理地址
  • 专门做二手书网站或appwordpress首页显示特定分类文章
  • 无锡网站设计厂家一建十个专业含金量排名
  • 网站刷链接怎么做成都高度网站技术建设公司
  • flash网站模板怎么用xml网站地图生成
  • 英文网站优化群晖wordpress中文
  • saas建站平台源码济南品牌网站建设公司
  • 网站建设一般是用哪个软件网站百度
  • 企业建站的作用是什么南宁公司网站开发
  • 厦门网站建设及维护门户网站开发视频教学
  • 可以做兼职的网站有哪些自动点击器永久免费版
  • 建购物网站怎么建呀网站怎么做中英文交互
  • 网站建设费用计入无形资产做网站用的主机
  • 佛山企业网站建设平台沈阳网站建设培训班
  • 河南企业网站优化外包网站怎么做来流量
  • 网站建设的参考文献网站设计网页的优缺点
  • WordPress多站點支付插件内江市网站建设培训
  • 做做网站已更新动漫制作专业需要学什么
  • dfv印花图案设计网站网站建设应该应聘什么岗位
  • 网站后台管理系统模板下载专业网站推广的公司哪家好
  • 克拉玛依市建设局网站网页设计板式重构
  • 网站新闻专题怎么做湖南营销型网站建设 要上磐石网络
  • 阿里云发布网站成都轨迹公布
  • php网站源码架构谷歌站群系统
  • 潮州网站seowordpress 调用置顶文章