[英]Using a method to declare an unknown amount of variables
我對 C++ 非常陌生,我正在嘗試創建一個數學引擎
我有一個名為 Point 的 class,來自這個 class 的對象需要能夠保存未知數量的維度值。 我有一個名為 DAmount 的變量,它是在創建點時決定的。 我想要一種方法來獲取 DAmount,並創建連接到點 object 的許多變量。
例如,我聲明了一個名為“SixDPoint”的點,然后將其 DAmount 設置為 6。然后我使用名為 CreateDVars 的方法創建了六個連接到 object“SixDPoint”的變量。 然后我可以使用這六個變量作為 XYZ+ 軸。
我不知道該怎么做。 這是一些代碼來解釋我正在嘗試做的事情。 非常感謝
#include <iostream>
using namespace std;
class Point
{
public:
int DAmount;
void CreateDVars(int)
{
//Variable declaration Function
}
};
int main()
{
Point SixDPoint; //declaring a Point named SixDPoint
SixDPoint.DAmount = 6; // this sets the dimension amount, of SixDPoint, to 6
SixDPoint.D1 = 1;
SixDPoint.D2 = 1;
SixDPoint.D3 = 1;
SixDPoint.D4 = 1;
SixDPoint.D5 = 1;
SixDPoint.D6 = 1;
//this should assign all six dimensions of SixDPoint, to 1
cout << SixDPoint.D1 << "/n";
cout << SixDPoint.D2 << "/n";
cout << SixDPoint.D3 << "/n";
cout << SixDPoint.D4 << "/n";
cout << SixDPoint.D5 << "/n";
cout << SixDPoint.D6 << "/n";
//this should print out all of the coordinates of SixDPoint
return 0;
}
我相信你想要這樣的東西:
#include <iostream>
#include <vector>
using namespace std;
class Point
{
public:
int DAmount;
void CreateDVars(int k)
{
dim.resize(k);
}
int& operator[](int k)
{
if (k >= 0 && k < dim.size())
return dim[k];
}
private:
vector<int> dim;
};
int main()
{
Point SixDPoint; //declaring a Point named SixDPoint
SixDPoint.CreateDVars(6);
SixDPoint[0] = 1;
SixDPoint[1] = 1;
SixDPoint[2] = 1;
SixDPoint[3] = 1;
SixDPoint[4] = 1;
SixDPoint[5] = 1;
//this should assign all six dimensions of SixDPoint, to 1
cout << SixDPoint[0] << "/n";
cout << SixDPoint[1] << "/n";
cout << SixDPoint[2] << "/n";
cout << SixDPoint[3] << "/n";
cout << SixDPoint[4] << "/n";
cout << SixDPoint[5] << "/n";
//this should print out all of the coordinates of SixDPoint
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.