类和对象(上篇—概念及定义)
C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。
C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。
C语言中,结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。
一、类和对象概念
1.类: 类是现实世界在计算机中的反映,它将数据(成员变量)和对这些数据的操作(成员函数)封装在一起 (并没有开空间)
例如:定义一个简单的学生类如下,没有开辟空间
2.对象: 类的实例化 (占有实际的空间)
例如:实例化出zhangsan这个学生,开辟空间了
3.特点
① 类只是一个模型一样的东西,限定了类有哪些成员,定义出一个类并没有分配实际的内存空间来存储它,类不占用储存空间,类实例化出的对象才占用储存空间
②一个类可以实例化出多个对象,实例化出的对象占用实际的物理空间,存储类成员变量
③做个比方。类实例化出对象就像现实中使用建筑设计图建造出房子,类就像是设计图,只设计出需要什么东西,但是并没有实体的建筑存在,同样类也只是一个设计,类不能储存数据,类实例化出的对象才能实际存储数据,占用物理空间
二、类定义的两种方式
1.声明定义都在类体里
2.声明放在.h文件中,类的定义放在.cpp文件中,在实现其定义时要加上作用域限定符指明该函数属于哪一个类
三、类的访问限定符
C++实现封装的方式:用类将对象的属性与方法结合在一块,让对象更加完善,通过访问权限选择性的将其接口提供给外部的用户使用。
- public(公有):public修饰的成员变量或是函数可以在类外直接进行访问
- p