要创建一个在开头没有特定维度的类Vector,请在类中创建一个允许向向量添加维度的方法

时间:2015-02-26 19:08:23

标签: c++ function class vector compare

我知道如何创建一个具有特定维度的类Vector,例如,如果它是3D,我将放入私有3双x,y和z。但是,我想创建一个名为vector of unknown dimension的类,其方法有:increase - 允许向向量添加维度,并为此新维度添加值。 打印 - 打印出矢量 比较 - 将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; }

这是不正确的还是这里的错误在哪里?你能不能让我知道我能做些什么来改善这一点,或者如果我以某种方式出错了。

由于

1 个答案:

答案 0 :(得分:0)

总的来说,如果您确实需要能够在运行时更改std::vector的维度,我认为以这种方式使用Vector没有任何问题。

但是你的代码充满了编译错误和逻辑错误。特别是你的compare功能。因此,我假设您只是希望我们将其视为伪代码并对一般概念进行评论。