如何将 list<RGB>转化成list<vector3D>
时间: 2023-12-09 19:05:13 浏览: 22
假设 RGB 类型有三个属性:r、g、b,vector3D 类型有三个属性:x、y、z。
可以通过遍历 RGB 列表,将每个 RGB 对象转换为 vector3D 对象,具体代码如下:
```
#include <iostream>
#include <vector>
using namespace std;
class RGB {
public:
int r, g, b;
RGB(int r, int g, int b) : r(r), g(g), b(b) {}
};
class vector3D {
public:
float x, y, z;
vector3D(float x, float y, float z) : x(x), y(y), z(z) {}
};
int main() {
// 创建 RGB 列表
vector<RGB> rgbList;
rgbList.push_back(RGB(255, 0, 0));
rgbList.push_back(RGB(0, 255, 0));
rgbList.push_back(RGB(0, 0, 255));
// 将 RGB 列表转换为 vector3D 列表
vector<vector3D> vectorList;
for (auto rgb : rgbList) {
vectorList.push_back(vector3D(rgb.r, rgb.g, rgb.b));
}
// 输出 vector3D 列表
for (auto vector : vectorList) {
cout << vector.x << ", " << vector.y << ", " << vector.z << endl;
}
return 0;
}
```
输出结果为:
```
255, 0, 0
0, 255, 0
0, 0, 255
```