1. 概念及定义
什么是类?
简单的说在c++中,可以用 <类> 描述 <对象>-现实世界中的事物。
- 可以通过类对现实世界中相似事物的抽象,找到不同事物间的共同点,例如学生的行为:逃课、旷课、惩罚等。
- 类用于指定对象的形式,包含数据表示法和用于数据处理数据的方法。类中的数据和方法称为类的成员。如类的成员函数等。
类 & 封装
使用类时,不需要关心类的实现细节,只有在创建类时,才需要考虑其内部实现细节。
必须在类的表示中定义属性和行为的公开级别,在c++中可以给成员变量和 成员函数定义访问级别。即 类访问修饰符
- public: 成员变量 成员函数可以在类的内部和外部访问及调用。
- private: 成员变量 成员函数只能在类的内部被访问和调用。
- c++中采用struct定义类中所有成员默认为 public 属性。
c++类的定义
class className //关键字 类名
{
pribate/public/protected:
变量;
函数;
}
class PID
{
public:
double kp;
/* 类的成员函数的声明 */
double vel(void);
}
/*成员函数定义*/
double PID::vel(void)
{
return ;
}
定义/声明 c++对象
PID pid1; //声明pid1, 类型为PID
PID pid2;
- 其中,对象pid1和pid2都有各自的数据成员。
类的成员函数
定义和原型写在类定义内部的函数,就像类定义中其他变量一样。
成员函数定义
- 成员函数可以定义在类定义的内部。在类定义中的成员函数即把函数声明为 内联函数 即使没有 inline标识符。
- 使用 范围解析运算符:: 来定义该函数。
double PID::vel(void)
{
return ;
}
- 在::运算符之前必须使用类名。调用成员函数则是在对象上使用点运算符 .
PID pid1;
pid1.vel(); //调用该对象的成员函数
2. 写法
- :: 范围解析运算符
- class 关键字
- 类访问修饰符 public private protected
3. 案例
#include <iostream>
using namespace std;
class Box
{
public:
double length;
double breadth;
double height;
double get(void);
void set(double len, double bre, double hei);
};
double Box::get(void)
{
return length * breadth * height;
}
void Box::set(double len, double bre, double hei)
{
length = len;
breadth = bre;
height = hei;
}
int main()
{
Box Box1; // 声明 Box1,类型为 Box
Box Box2;
Box Box3;
double volume = 0.0;
// box 1 详述
Box1.height = 5.0;
Box1.length = 6.0;
Box1.breadth = 7.0;
Box2.height = 10.0;
Box2.length = 12.0;
Box2.breadth = 13.0;
// box 1 的体积
volume = Box1.height * Box1.length * Box1.breadth;
cout << "Box1 的体积:" << volume <<endl;
volume = Box2.height * Box2.length * Box2.breadth;
cout << "Box2 的体积:" << volume <<endl;
Box3.set(16.0, 8.0, 12.0);
volume = Box3.get();
cout << "Box3 的体积:" << volume <<endl;
return 0;
}