类定义包括两个部分,类头class head 由关键字class 与相关联的类名构成,类体class body 由花括号括起来以分号结束。类头本身也用作类的声明,例如:
// 在程序中声明IntArray 类但是不提供定义
class IntArray;
类体包含成员定义以及访问标签,如public 和private。 类的成员包括该类能执行的
操作和代表类抽象所必需的数据,这些操作称为成员函数member function 或方法
method ,对于IntArray 类来说它由以下的内容构成:
class IntArray {
public:
// 相等与不相等操作 #2b
bool operator==( const IntArray& ) const;
bool operator!=( const IntArray& ) const;
// 赋值操作符 #2a
IntArray& operator=( const IntArray& );
int size() const; // #1
void sort(); // #4
int min() const; // #3a
int max() const; // #3b
// 如值在数组中找到
// 返回第一次出现的索引
// 否则返回-1
int find( int value ) const; // #3c
private:
// 私有实现代码
};
成员函数右边的数字对应着我们前面定义的规范表中的条目,我们现在不打算解释参数
表中的const 修饰符或参数表后面的const 修饰符,现在还没必要详细解释,但是在实际的程
序中它们还是必需的。通过使用两个成员访问操作符member access operator 中的一个我们可以调用一个
有名字的成员函数如min(), 这两个操作符为用于类对象的点操作符. 以及用于类
对象指针的箭头操作打-> ,例如为了在数组myArray 类对象中找到最小值我们可以
这样写
// 用myArray 数组中的最小元素来初始化min_val
int min_val = myArray.min();
//为了在动态分配的IntArray 对象中查找最大值我们可以这样写
int max_val = pArray->max();