C++(5)——类与对象(1)

目录

类的引入

类的定义

类的两种定义方式

声明和定义放在一起

声明和定义分离

类的访问限定符和封装

类的访问限定符

封装

类的作用域

类的实例化

C++是基于面对对象的,它关注的是对象,将一件事情拆分成为不同的对象,靠对象之间的交互完成。

类的引入

C语言结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。比如,用C语言实现的栈,结构体中只能定义变量;现在用C++方式实现时,会发现struct中可以定义变量了。

上面结构体的定义,C++更喜欢的是用class来代替。

类的定义

class为定义类的关键字,classname为类的名字,{}中为类的主体,要注意{}后的分号不能省略。

类体中的内容称为类的成员:类中的变量称为类的属性或者成员变量;类中的函数称为类的方法或者成员函数。

类的两种定义方式

声明和定义放在一起

声明和定义全部放在类体中,需要注意的是,成员函数如果在类体中定义,编译器可能会将其当成内联函数处理。

声明和定义分离

声明放在.h文件中,定义放在.cpp文件中,注意的是,成员函数名前需要加类名::。

一般情况下,最好使用定义和声明分离的方法。

类的访问限定符和封装

类的访问限定符

访问限定符就相当于是一个博物馆是否对外开放的规则。

类有三个访问限定符:

public就是把类里面的东西公开。

protected把类里面的东西保护。

private把类里面的东西私有,不让别人使用。

上图中,因为只有show是公开的,所以我们使用时,只能引用show。

当我们注释掉protected,_age _name也能用了

我们再注释掉 private,这下全都能用了

注意的是:class的默认访问权限是 private,struct的默认权限是public(要兼容C)。

封装

面向对象的三大特性:封装、继承、多态。

我们这里主要介绍封装,什么是封装呢?

封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。

封装的本质是一种管理,让用户更为方便的使用类。

C++中实现封装,可以通过类将数据以及操作数据的方法结合起来,通过访问权限来隐藏对象的内部细节,让类在外部直接被使用。

类的作用域

类定义了一个新的作用域,类的所有成员都在类的作用域中。在类体外定义成员时,需要使用::这个作用域操作符指明成员属于哪个类域。

类的实例化

用类创建对象的过程,称为类的实例化

类是对对象进行描述的,是一个模型一样的东西,限定了类有那些成员,定义出一个类并没有分配实际的内存空间来存储它。

一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量。

这里报错了,因为appletree类没有空间,必须进行实例化才有空间。

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值