2010-02-21 91 views
2

我想使用类中的构造函数创建二维和三维向量。但是,我不知道如何为多维向量。C++:如何使多维向量的构造函数?

一维的作品:

class One{ 
    public: 
     vector <float> myvector; 

     One(int length) : myvector(length){} 

}; 

二维不起作用:

class Two{ 
    public: 
     vector < vector <float> > myvector; 

     Two(int length, int width) : myvector(length)(width) {} 

}; 

三维不起作用或者:

class Three{ 
    public: 
     vector < vector < vector <float> > > myvector; 

     Three(int length, int width, int height) : myvector(length)(width)(height) {} 

}; 

以下作品的答案二维矢量。我希望为三维下面的代码然而这似乎是错误的

class Three{ 
    public: 
     vector < vector < vector <float> > > myvector; 

     Three(int length, int width, int height) : myvector(length, vector<float>(width, vector<float>(height))) {} 

}; 
+0

无法获得3D工作 – FRidh 2010-02-21 18:10:58

+0

确定,应该是 三(INT长度,INT宽度,INT高度):myvector(长度,矢量<矢量>(高度,矢量(宽度))){} – FRidh 2010-02-21 18:25:52

回答

13

对于二维情况下,它应该是:

Two(int length, int width) : myvector(length, std::vector<float>(width)) {} 

我会让你找出自己的第三个案例。

+2

哈哈,你这次赢得了比赛。 +1 :) – 2010-02-21 16:47:26