使用c++定义UNKNOWN = 0, UNKNOWN_MOVABLE = 1, UNKNOWN_UNMOVABLE = 2, PEDESTRIAN = 3, BICYCLE = 4, VEHICLE = 5, MAX_OBJECT_TYPE = 6,五种类型的关联度计算
时间: 2023-12-06 20:03:12 浏览: 63
C++类间关系
可以使用一个二维数组来存储五种类型之间的关联度,其中第一维表示源对象类型,第二维表示目标对象类型。例如,以下是一个示例代码:
```
const int MAX_OBJECT_TYPE = 6;
int relation[MAX_OBJECT_TYPE][MAX_OBJECT_TYPE] = {
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 0, 10, 20, 30, 40},
{0, 0, 20, 30, 40, 50},
{0, 0, 30, 40, 50, 60},
};
```
在这个示例中,`UNKNOWN`、`UNKNOWN_MOVABLE`、`UNKNOWN_UNMOVABLE`三种类型之间的关联度都为0,因为它们都是未知类型;而其他类型之间的关联度根据实际情况设定。例如,`PEDESTRIAN`到`BICYCLE`的关联度为10,表示行人和自行车之间的关联度较低;而`VEHICLE`到`BICYCLE`的关联度为40,表示车辆和自行车之间的关联度较高。
要计算两个对象之间的关联度,只需要使用它们的类型作为索引,例如:
```
int source_type = PEDESTRIAN;
int target_type = VEHICLE;
int relation_degree = relation[source_type][target_type];
```
在这个示例中,`relation_degree`的值将为30,表示行人和车辆之间的关联度为30。
阅读全文