C++程序中类概念的目标就是为程序员提供一种建立新类型的工具,使这些新类型的使用能够像内部类型一样方便。我们设计一个新的类型,是为了给某个内部类型中没有直接对应物的概念提供一个定义。而定义一个新类型的基本思想就是将实现中那些非必然的细节(如用于存储该类型的对象所采用的数据的布局),与那些对这个类型的正确使用至关重要的性质(如能够访问其中数据的完整的函数列表)区分开来。
1、类
一个类就是一个用户定义类型。在一个类中声明的函数叫做类的成员函数,这种函数只能通过适当类型的特定变量,采用标准的结构成员访问语法形式调用。结构: class X{};被称为一个类的定义,因为它定义了一个新类型。
2、访问控制
有如下定义:
class Date{
int d, m, y;
public:
void init(int dd, int mm, int yy); //初始化
void add_year(int n);//加n年
void add_month(int n); //加n月
void add_day(int n); //加n天
};
标号public将这个类分为两部分,第一部分为私有的,只能由成员函数使用。第二部分是公用的,可以供外界调用。私有成员变量禁止外界的一切访问,这样做的优点有:1)如果一个类的表示方式改变了,我们只需要修改成员函数,就可以使用这种新的表示。用户代码只依赖于类公开的操作(public的成员函数),因此不需要重写。2)一个潜在的用户要学习使用一个类,也只需要考察其成员函数的定义即可。
3、构造函数
构造函数的目的就是完成对象的初始化工作,正是由于这个函数将构造起一个给定类型的值,因此被称为构造函数。构造函数具有与类相同的名字,如:
class Date{
Date(int, int, int);
};
如果一个类有一个构造函数,这个类的所有对象的初始化都将通过对某个构造函数的调用来完成初始化工作。