对象指的是类的实例,将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性
面向对象的三大特性:封装、继承、多态
类的划分:
由此可见,类与结构体相比,不仅仅是含有数据,还有方法和访问限定符。
特别说明:在定义类时,class为定义访问限定符则默认为私有,struct未定义访问限定符则默认为公有
类中定义的三种访问限定符:
- public成员可以从类外部直接访问,protected/private成员不能从类外部直接访问
- 每个限定符在类中可以使用多次,它的作用域是从该限定符出现开始到下一个限定符之前或者类体结束前。
- 类中如果没有定义限定符,则默认为私有
- 类的访问限定符体现了面向对象的封装性
类的作用域:
我们将作用域划分为如下几种:
类的作用域:
- 每个类都定义了自己的作用域,类的成员(成员函数/成员变量)都在类的这个作用域内,其中成员函数可以任意访问成员变量或者其他成员函数
- 在类外,对象通过 .直接访问公有成员,指向对象的指针通过->可以直接访问对象的公有成员。
- 在声明时不开辟空间,在定义时才开辟,对类来说定义时只定义成员函数,在实例话时才定义成员对象并分配空间。在类外定义成员函数,需要使用::作用域解析符指明成员属于哪个类域