要创建一开始没有特定维度的类 Vector,请在类中创建一个方法,允许向向量添加维度
Posted
技术标签:
【中文标题】要创建一开始没有特定维度的类 Vector,请在类中创建一个方法,允许向向量添加维度【英文标题】:To create a class Vector which has no specific dimension at the beginning, create a method in class allowing to add a dimension to the vector 【发布时间】:2015-02-26 19:08:23 【问题描述】:我知道如何创建一个具有特定维度的类 Vector,例如,如果它是 3D,我会放入私有的 3 个双精度 x、y 和 z。但是,我想创建一个称为未知维度向量的类,具有以下方法:增加 - 允许向向量添加一个维度,并为这个新维度添加一个值。 print - 打印出向量 compare - 比较 2 个不同的向量。
所以我的方法如下: 我会私下创建一个向量:
class Vector
private: vector<double>vect; //
public: void print() const;
bool compare(Vector const& v) const;
vector<double> increase(double& a);
;
void Vector::print()const
for(size_t i(0); i < vect.size(); ++i) cout << i << endl;
bool Vector::compare(Vector const& v) const
for(size_t i(0); i < v.size(); ++i)
for(size_t j(0); j < vect.size(); ++j)
if(v[i] == vect[j]) return true;
vector<double> Vector::increase(double& a)
vect = vect.push_back(a);
return vect;
这是不正确的还是这里的错误在哪里?您能否让我知道我可以做些什么来改善这一点,或者我是否以某种方式出错了。
谢谢
【问题讨论】:
如果你想对你的代码进行详细的批评,你最好发帖到codereview.stackexchange.com 【参考方案1】:总的来说,如果您确实需要能够在运行时更改 Vector
的尺寸,我认为以这种方式使用 std::vector
没有任何问题。
但是您的代码充满了编译错误和逻辑错误。特别是您的 compare
函数。所以我假设您只是希望我们将其视为伪代码并评论一般想法。
【讨论】:
以上是关于要创建一开始没有特定维度的类 Vector,请在类中创建一个方法,允许向向量添加维度的主要内容,如果未能解决你的问题,请参考以下文章