C++语言类通俗点说
小标 2018-07-25 来源 : 阅读 1533 评论 0

摘要:本文主要向大家介绍了C++语言类通俗点说,通过具体的内容向大家展示,希望对大家学习C++语言有所帮助。

本文主要向大家介绍了C++语言类通俗点说,通过具体的内容向大家展示,希望对大家学习C++语言有所帮助。

核心:

C++的类就是对C语言的结构体进行了扩展,C++的结构体可以包含函数!

------------------------------------------------------

我们学习C++为什么要复习C语言结构体呢?

在我看过的对C++进行讲述的教材中,开篇往往是两个字“对象”!因为C语言是面向过程的,而C++特色是面向对象!所以大多数书籍最开始就在说面向对象的事情。

但我在最初学习的过程中发现自己对“对象”这个词汇....总是想偏,对这个词汇云里雾里的,什么叫面向对象啊,看了一通没看懂。所以我们先不深究什么叫面向对象。

我们先来略看一下C语言中的结构体。对于这个大家应该是很熟悉的,如果对C语言结构体的概念有模糊,请自行查阅资料。

-----------------------------------------------------

C语言结构体

在C语言编程中,我们定义自己的身高,可以用整型int变量,定义一家人(比如三口人)的身高,可以用int型数组。

如果我们要表示某个游戏中各个角色的姓名、身高(单位cm)、体重(单位kg),这三种并不是同一类型的数据,那我们就用到结构体了。

struct hero

{

  unsigned char name[10];

    int height;

    float weight;

};

struct hero LuBan; //定义“LuBan”变量

 

结构体或称结构,就像int、float等基本类型一样,也是一种数据类型,使用户自己定义的,它允许存储不同类型的数据项,就像上面的hero结构体。就像打包封装,把一些有共同特征(上面的身高体重等都属于同一个角色)的变量封装到内部,通过一定的方法访问和修改这些内部变量。

关于更多的结构体的知识我们这里不多说。

我们在结构体内部定义了一些变量,看到“LuBan”这个结构,我们就能查找到他的身高、体重等数据。

----------------------------------------------------

函数

LuBan角色具有“河豚手雷”这个技能,就像炒菜一样,油、盐、菜、蛋...出锅!这样一个顺序就完成了一道美食,LuBan也是用一个顺序完成了这个技能。左闪、右躲...杀!

这就是一个函数。

一个变量定义了一个角色的角色性质,一个函数定义了一个角色的大招使用过程!所以C语言的面向过程很好理解。

这个LuBan我们就可以叫做一个对象!他的身高、体重等这些变量我们称之为“属性”或者“状态”,他具有的大招(能干什么)我们称之为“行为”。

就像LuBan,这个角色有姓名、性别、身高、体重等这些“数量”,也就是变量=属性=状态;他可以吃饭、睡觉、打怪,这些行为=函数。所以,我们就叫C语言中的变量为“属性”或“状态”,C语言中的函数称为“行为”。

------------------------------------------------------

从结构到类

在C语言的结构体定义中,我们只是把变量放到了结构体中,而C++的类就是对C语言的结构体进行了扩展,C++的结构体可以包含函数!

举个栗子:

struct hero

{

//属性

  unsigned char name[10];

    int height;

    float weight;

 

//行为

    void eat()

{吃肉!}       //仅做说明

void sleep()

{站着睡!}

void KillMonsters()

{使用河豚手雷打怪!}

};  //分号

struct hero LuBan; //定义“LuBan”变量

 

调用:

void main()

{

LuBan.height=150;

LuBan.weight=50;

LuBan.KillMonsters();

}

“角色”这个结构体的成员,与C语言不同,我们既有变量也有函数,变量和函数都属于该结构体,变量叫成员变量,函数叫成员函数。C语言的结构智能描述一个对象的属性,不能描述一个对象的行为。

在面向对象的程序设计中,对象具有属性(状态)和行为,属性保存在成员变量中,行为通过成员方法(函数)来实现。成员方法又是什么?

其实方法和函数可以理解为一回事。只是在C++中“函数”被称之为“方法”。

-----------------------------------------------------

C++类的定义

前面看明白了,这个地方就不多说话!

将结构体定义中的关键字struct换成class,就得到了C++中类的定义。

class Hero    //类名习惯首字母大写

{

//属性

  unsigned char name[10];

    int height;

    float weight;

 

//行为

    void eat()

{吃肉!}       //仅做说明

void sleep()

{站着睡!}

void KillMonsters()

{使用河豚手雷打怪!}

};  //分号

用类定义的就叫对象。

Hero LuBan; //定义了一个Hero类的对象LuBan

以上就介绍了C/C+的相关知识,希望对C/C+有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言C/C+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 2 不喜欢 | 0
看完这篇文章有何感觉?已经有2人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程