类和对象
一个数据对象是某数据类型的一个特例;同样,一个类对象是某类的一个特例。
类概念与数据类型的概念之间的比较:
数据类型
仅仅是在数据的实现/使用一级的抽象,它是被动对象,由运算符——函数进行操作;
类
是数据结构及其密切相关的操作函数(亦称方法)的封装体,它是主动对象,由消息触发。
类接口定义:
class 类类型名{
private:
私有成员声明;
public:
公开成员声明;
};
公开成员是类对象的 信息接口
私有成员只能由类作用域中的函数访问——> 作用域 具体指哪?
成员函数
也称方法,是信息接口,类对象通过成员函数访问类中的私有成员。——>类接口的实现
可重用性
对于一个已经使用的类,可以通过为其增添新的成员函数来修改该类对象的行为。
定为了类,接下来就要创建对象了。
格式为 类名 对象名;如 Person zh;
如何对对象中的一个成员进行操作呢?我们用圆点“.”引用一个对象成员:
如:zh.name
注意:生成对象后,系统才为对象并且只为对象分配存储空间。
如何理解构造函数?
构造函数(一种特殊的成员函数)把对象和类中的各成员一一映射,也即是提供胶水功能?
它初始化对象。
要理解好构造函数的作用,必须得先理解 初始化 与 赋值 的区别
初始化 就是在对象创建时使用初始值直接填充对象的内存单元,因此不会有数据类型转换等中间过程,也就不会产生临时对象;
赋值 则是在对象创建好后任何时候都可以调用的而且可以多次调用的函数,由于它调用的是“=”运算符,因此可能需要进行类型转换,即会产生临时对象。
所以,我们可以认为,当对象的内存分配好后把它从原始状态变为良好的可用状态。
构造函数的另一重要用途是给一些可能存在的隐含成员如vptr创造一个初始化的机会,否则虚拟机制不能保证实现。 ?
要熄灯了,关于构造函数,明天得继续学习。
参考书籍:高质量程序设计指南——C++/C语言
bluerainzzb2008@hotmail.com