类和对象总结
一、 类
1.定义:类的基本思想是数据的抽象和封装。
2.基本语言定义的ADT:
(1)抽象数据类型由两部分:一组数据和对数据的操作。
结构体描述数据,全局函数描述对数据的操作,数据以参数的形式传递给函数。
(2)SalesData 采用结构体加全局函数的方式实现。
结构体保存数据,函数定义对这些数据的操作,数据通过结构体指针参数传递给函数。
基本语言实现SalesData的方式存在如下问题:
数据和操作之间的密切关系不能体现;使用时需要传递数据的地址;大量使用全局函数容易引起名字冲突。
3.数据成员和成员函数:
结构体内的函数被称为成员函数,结构体中的数据则称为数据成员,扩展的结构体被称为类,结构体类型的变量被称为对象。
4.数据成员的类内初始化:
如果在main()函数中定义SalesDate类型的变量:
二、 没有初始值的成员将被默认初始化
数据成员类内初始值只能放在等号“=”右边,或者放在==花括号“{}”==里,不能使用圆括号“()”
5.成员函数的类外定义:
类外定义的成员函数名字前面要加类名字和作用域符“::”,表示这个函数是在其所属的类作用域内,是这个类的成员函数,不同于全局函数
在类定义的花括号内定义的成员函数默认为inline 函数
在类外定义inline 成员函数,显式地在函数声明或定义前加关键字inline。
二、访问控制和封装
SalesData 的成员可以通过结构体变量访问,不仅可以调用成员函数,也可以访问数据成员。
1.访问限定符