1.类的定义
类是C++中创建对象的基础,它与C的结构体类似,是程序员自定义的一种由变量和函数构成的抽象数据类型,定义的一般形式为:
class 类名
{
变量和函数的声明;
...
};
在默认情况下,类中的成员(包括数据成员和函数成员)都是私有的,类外的程序不能访问类中的私有成员。C++提供修饰成员的3个关键字:private
(私有)、public
(公有)和protected
(保护)。如:
class Rectangle
{
private: //通常数据成员都是私有的
float width;
float length;
float area;
public: //通常函数成员都是共有的
void setData(float, float);
void calculateArea();
float getWidth();
float getLength();
float getArea();
};
上述声明中,width,length,area都是私有的这意味着它们只能被函数成员所访问,而函数成员都是公有的,这说明在函数外部可以调用它们。而对于保护成员protected
和私有成员类似,唯一的区别是:子类不可访问基类的私有成员,但可访问基类的保护成员。但程序的其他部分,保护成员仍然是不可访问的。
2.定义函数成员
在类的外部定义函数成员一般形式为:
<返回值类型> <类名>::<函数名>(形参列表)
{
//代码
}
如
void Rectangle::setData(float w, float l)
{
width = w;
length = l;
}
3.定义对象
对象也称为类的实例,它们也是变量,必须在类定义之后才能定义对象。
如:
Rectangle box;
4.访问对象成员
访问对象成员和访问结构体成员类似,都是采用点操作符。
如:
box.calculateArea();
注意:在函数成员内部访问数据成员时不需要加点操作符,这是因为这些变量属于当前对象的数据成员。
5.引入私有成员的原因
为了避免对象的数据被偶然破坏,引入了私有成员,外部应用程序想要向对象的数据成员存储值,必须通过公有函数成员。实际上,公有函数成员就是对象提供给外部的接口。
在OOP程序设计中,对象保护的重要数据不被破坏是一件很重要的事,它通过将关键数据声明为私有成员,同时提供访问这些数据的公共接口实现。