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

肥东住房和城乡建设部网站免费的域名网址

肥东住房和城乡建设部网站,免费的域名网址,国家网站备案查询,做一元购物网站#x1f451;专栏内容#xff1a;C学习笔记⛪个人主页#xff1a;子夜的星的主页#x1f495;座右铭#xff1a;日拱一卒#xff0c;功不唐捐 文章目录一、前言二、面向对象编程三、类和对象1、类的引入2、类的定义Ⅰ、声明和定义在一起Ⅱ、声明和定义分开Ⅲ、成员变量命… 专栏内容C学习笔记⛪个人主页子夜的星的主页座右铭日拱一卒功不唐捐 文章目录一、前言二、面向对象编程三、类和对象1、类的引入2、类的定义Ⅰ、声明和定义在一起Ⅱ、声明和定义分开Ⅲ、成员变量命名建议3、类的封装和访问限定符Ⅰ、封装Ⅱ、访问限定符4、类的作用域5、类的实例化四、总结一、前言 类和对象是C 在 C 语言的基础上新增加的特性而正是因为这一特性让C成为了面向对象的编程语言。本文将跟随C大哥的脚步介绍类和对象这一重要特性。 二、面向对象编程 百度百科面向对象程序设计(Object Oriented Programming)作为一种新方法其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征只能对事物特征和变化规律的一种抽象且在它所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。通过建立模型而达到的抽象是人们对客体认识的深化。 以洗衣服为例 像C语言你这种面向过程编程的做法就是手洗。所以你想洗一件衣服的话洗衣服的每一个过程你自己都要做一遍。 而C洗一件衣服就很简单了只需要把衣服放进洗衣机里就行了。 对比一下上面两种洗衣服的方法。面向过程是自己在干活而面向对象是将事物高度抽象化所以面向对象必须先建立抽象模型或者更形象点说就是建立一个机器之后直接使用模型机器来干活。 C语言是面向过程的关注的是过程分析出求解问题的步骤然后通过函数调用来逐步解决问题。 C是面向对象的关注的是对象将一件事情拆分成不同的对象靠对象之间的交互完成。 三、类和对象 1、类的引入 类可以看作是C语言里面结构体struct的升级版在C语言结构体中只能定义变量在C中类不仅可以定义变量也可以定义函数。 举个例子 计算一个学生的总分。 C语言是先定义一个结构体然后再写一个计算输出总分的函数。 struct Student {//结构体包含的成员变量int number;float math;float english;float chinese; }; //求总分函数 int Sum(struct Student stu) {return stu.chinese stu.english stu.math; } //输出函数 void print(struct Student stu) {//调用求总分函数float sum Sum(stu);//输出结构printf(学号%d 的总分是 %.2f\n, stu.number,sum ); } int main() {struct Student s1;s1.number 01;s1.chinese 100;s1.english 100;s1.math 100;//调用函数print(s1);return 0; }再看C的做法C是把实现这个功能的所有成员和函数都放在这个类里面。 以后再想实现这个功能就直接用这个类就行了。 struct Student {int number;float math;float english;float chinese;int Sum(struct Student stu){return stu.chinese stu.english stu.math;}void print(struct Student stu){float sum Sum(stu);printf(学号%d 的总分是 %.2f\n, stu.number, sum);}}; int main() {struct Student s1;s1.number 01;s1.chinese 100;s1.english 100;s1.math 100;s1.print(s1);return 0; }注意上面的定义在C中更喜欢用class来代替struct。 当然使用struct也行不过与class相比会有点不一样。具体有啥不一样请继续看下文。 2、类的定义 class className { // 类体由成员函数和成员变量组成 };class为定义类的关键字ClassName为类的名字{ }中为类的主体注意类定义结束时后面分号不能省略。 类体中内容称为类的成员。类中的变量称为类的属性或成员变量。类中的函数称为类的方法或者成员函数。 Ⅰ、声明和定义在一起 声明和定义可以全部放在类体中的定义但是需要注意的是成员函数如果在类中定义编译器可能会将其当成内联函数处理。 Ⅱ、声明和定义分开 类的声明放在.h文件中成员函数定义放在.cpp文件中。 注意此时成员函数名前需要加类名:: Ⅲ、成员变量命名建议 class Date { public:void Init(int year){// 这里的year到底是成员变量还是函数形参year year;} private:int year; };为了避免这种成员变量和函数形参分不清楚的情况我们一般都是加个前缀或者后缀标识进行区分。 class Date { public:void Init(int year){year_ year;} private:int year_; };3、类的封装和访问限定符 Ⅰ、封装 封装将数据和操作数据的方法进行有机结合隐藏对象的属性和实现细节仅对外公开接口来 和对象进行交互。封装本质上是一种管理让用户更方便使用类。 打个比方 对于电脑这样一个复杂的设备提供给用户的就只有开关机键、通过键盘输入显示器USB插孔等让用户和计算机进行交互完成日常事务。但实际上电脑真正工作的却是CPU、显卡、内存等一些硬件元件。对于计算机使用者而言不用关心内部核心部件比如主板上线路是如何布局的CPU内部是如何设计的等用户只需要知道怎么开机、怎么通过键盘和鼠标与计算机进行交互即可。因此计算机厂商在出厂时在外部套上壳子将内部实现细节隐藏起来仅仅对外提供开关机、鼠标以及键盘插孔等让用户可以与计算机进行交互即可。 C实现封装的方式用类将对象的属性与方法结合在一块让对象更加完善通过访问权限选择性的将其接口提供给外部的用户使用。 Ⅱ、访问限定符 public修饰的成员在类外可以直接被访问protected和private修饰的成员在类外不能直接被访问(此处protected和private是类似的)访问权限作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止如果后面没有访问限定符作用域就到 } 即类结束。 5. class的默认访问权限为privatestruct为public(因为struct要兼容C语言) 现在回答最开始的问题C中struct和class的区别是什么 C需要兼容C语言所以C中struct可以当成结构体使用。另外C中struct还可以用来定义类。和class定义类是一样的区别是struct定义的类默认访问权限是publicclass定义的类默认访问权限是private。 注意在继承和模板参数列表位置struct和class也有区别后序再给大家介绍。 4、类的作用域 类定义了一个新的作用域类的所有成员都在类的作用域中。在类体外定义成员时需要使用:: 作用域操作符指明成员是属于哪个类域。 class Person { public:void PrintPersonInfo(); private:char _name[20];char _gender[3];int _age; }; //这里需要指定PrintPersonInfo是属于Person这个类域 void Person::PrintPersonInfo() {cout _name _gender _age endl;}5、类的实例化 用类类型创建对象的过程称为类的实例化。 类是对对象进行描述的是一种复杂数据类型的声明不占用内存空间。一个类可以实例化出多个对象实例化出的对象占用实际的物理空间存储类成员变量。 举个例子类实例化出对象就像现实中使用建筑设计图建造出房子类就像是设计图。只是设计出了需要什么东西但是并没有实体的建筑存在同样类也只是一个设计实例化出的对象才能实际存储数据占用物理空间。 四、总结 C是面向对象的关注的是对象将一件事情拆分成不同的对象靠对象之间的交互完成。封装就是将数据和操作数据的方法进行有机结合隐藏对象的属性和实现细节仅对外公开接口来 和对象进行交互。封装本质上是一种管理让用户更方便使用类。在类体外定义成员时需要使用:: 作用域操作符指明成员是属于哪个类域。对象是对客观事物的抽象类是对对象的抽象。 类是一种抽象的数据类型。 它们的关系是对象是类的实例类是对象的模板。如果有对象。请不要因为学习面向对象编程而忽略了对象的情绪。
http://www.w-s-a.com/news/904435/

相关文章:

  • 我要啦免费统计怎么做网站销售订单管理系统软件
  • 门户网站建设教程更改wordpress端口
  • 普兰店网站建设公司云计算培训
  • 网站建设的网络技术app下载平台哪个好
  • 中国建筑人才网是什么网站导购网站制作
  • 网站建设开票东莞龙岗网站建设
  • 17网站一起做网批最近湘潭的新闻
  • 专业网站设计专业服务网站news怎么做
  • 杭州租房网站建设设计网站架构
  • 安徽做网站公司哪家好建设网站需要什么内容
  • 哪些网络公司可以做机票预订网站网站新闻后台怎么做
  • 微网站 域名企业网站怎么做推广
  • 兴安盟住房和城乡建设部网站在国外做网站
  • 南雄市建设局网站搜索关键词的方法
  • 网站建设维护工作经验深圳定制展会
  • 新闻类网站备案WordPress评论昵称显示错误
  • 如何建立一个个人网站自己做一个购物网站
  • 吴忠网站建设公司中国建筑股份有限公司 官网
  • 深圳电商网站开发公司page list wordpress
  • 长安外贸网站建设顺德区网站设计建设企业
  • 临沂市建设局网站简介专业建设网站开发
  • 肇庆网站制作设计中国企业500强招聘
  • 苏州厂房装修宁波seo网络推广外包报价
  • 文山知名网站建设惠州哪家做网站好
  • 物流网站风格网站登录密码保存在哪里设置
  • 免费网站怎么建立icodepython基础教程
  • 无障碍网站建设方案wordpress 任务管理系统
  • iis5.1发布网站中小企业网络营销存在的问题研究论文
  • 阳泉软件定制网站建设网站可以做多语言的吗
  • 建设网站的目的及功能定位主要包括哪些内容百度关键词优化