该系列是本人对c++的面向对象的知识点的笔记整理。
文章目录
封装
c++面向对象的三大特征:封装、继承、多态。
封装的意义
-
类包括属性和方法。在设计类时,属性和方法写在一起, 属性和方法统称为成员,属性称为成员属性或者成员变量,行为称为成员函数或者成员方法。
-
类在设计时,可以把属性和方法放在不同的权限下,可以对它们加以控制。
访问权限分为三种:
(1)公共权限:public 特点:成员类内可以访问,类外可以访问。
(2)保护权限:protected 特点: 成员类内可以访问,类外不可以访问,子类可以访问父类中保护的内容。
(3)私有权限:private 特点:成员类内可以访问,类外不可以访问,子类不可以访问父类的私有内容。
注意:类内的成员如果不设置指定的访问权限,则***系统默认设置的访问权限为private***。
以下是一个关于定义立方体类的例子:
class Cube
{
private:
double cube_L; //长
double cube_W; //宽
double cube_H; //高
public:
//设置立方体的长宽高
void set(double l, double w, double h)
{
cube_L = l;
cube_W = w;
cube_H = h;
}
double getL()
{
return cube_L;
}
double getW()
{
return cube_W;
}
double getH()
{
return cube_H;
}
//获取立方体面积
double calculateArea()
{
return 2 * cube_L * cube_W + 2 * cube_L * cube_H + 2 * cube_H * cube_W;
}
//获取立方体体积
double calculateVolume()
{
return cube_H * cube_L * cube_W;
}
};
把自定义的类放到其他文件中
在设计类时,可以把类的声明放在一个头文件(xxx.h)中,把类的成员函数的实现放在一个xxx.cpp文件中。
以点和圆的关系作为例子:
- 定义一个点类,点是指XY坐标系上的点,用(x,y)表示
class Point