我写的这个类是一维的,怎么改造成动态二维的啊,目的是用于保存至queue里
class Point//点类
{
public:
//使用初始化表初始化点类
Point(float a = 0, float b = 0, float c = 0, int d = 0) :x(a), y(b), z(c), refl(d) {}
protected:
float x;
float y;
float z;
int refl;
};
呃。。。自己琢磨了半天,搞出来了(平常一般算法部署只写python,c++真难,淦!)
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
class Point {
public :
vector<vector<float>> point_data;
Point(vector<vector<float>> points) : point_data(points){}
};
int main()
{
int num = 10;
vector<vector<float>> state(num, vector<float>(4, 0));
state[2][3] = 2;
state[1][2] = 5;
state[3][2] = 7;
Point p1(state);
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 4; j++) {
cout << p1.point_data[i][j] << " ";
}
cout << "\n" << endl;
}
queue<Point> searchlist;
searchlist.push(p1);
while (!searchlist.empty())
{
Point temp = searchlist.front();
cout << "[" << p1.point_data[2][3] << "," << p1.point_data[1][2] << "]" << endl;
searchlist.pop();
}
system("pause");
return 0;
}