如何私下使用 2d 矢量作为 class 成员来创建游戏板?
How can I use 2d vector as class member in private for create a game-board?
#include <iostream>
#include <vector>
using namespace std;
class board{
public:
/* vector<vector<int>>getmyvector(){
return vect;
}
board(vector<vector<int>>vect2){
vect=vect2;
}*/
private:
vector<vector<int>vect;
};
/* vector<vector<int>> getmyvector(){ //getter
return vect;
}
board :: board(vector<vector<int>>vect2):vect(vect2){ //constructor
}
*/
int main()
{
vector<vector<int>>vec;
vec{
{0,0,1,1,2},
{1,1,0,2,1},
{1,1,2,2,0},
};
board a(vec);
return 0;
}
我正在尝试在 private.But 中创建一个二维矢量 我尝试访问这个矢量 我得到 fail.How 我可以私下加载一个板的二维矢量吗 我如何公开使用这个板?如何为二维向量创建 getter、setter 或构造函数?
您可以使用下面给出的程序作为起点(参考)。 class board
有一个名为 vect
的私有数据成员和名为 getVector
、setVector
和 display
的 public 成员函数。
#include <iostream>
#include <vector>
class board{
public:
//create getter
std::vector<std::vector<int>> getVector() const
{
return vect;
}
//create setter
void setVector(std::vector<std::vector<int>> pvect)
{
vect = pvect;
}
//display() function that prints elements of the vect data member
void display()
{
for(const std::vector<int> &elem: vect)
{
for(int intElem: elem)
{
std::cout<<intElem<<std::endl;
}
}
}
private:
std::vector<std::vector<int>> vect;
};
int main()
{
//create a board instance
board myBoard;
std::vector<std::vector<int>> vect{
{0,0,1,1,2},
{1,1,0,2,1},
{1,1,2,2,0},
};
//use the setter to set the vect data member
myBoard.setVector(vect);
//lets print out the elements of the data member vect for the object myBoard using the display() member function
myBoard.display();
return 0;
}
上面程序的输出可见here.
#include <iostream>
#include <vector>
using namespace std;
class board{
public:
/* vector<vector<int>>getmyvector(){
return vect;
}
board(vector<vector<int>>vect2){
vect=vect2;
}*/
private:
vector<vector<int>vect;
};
/* vector<vector<int>> getmyvector(){ //getter
return vect;
}
board :: board(vector<vector<int>>vect2):vect(vect2){ //constructor
}
*/
int main()
{
vector<vector<int>>vec;
vec{
{0,0,1,1,2},
{1,1,0,2,1},
{1,1,2,2,0},
};
board a(vec);
return 0;
}
我正在尝试在 private.But 中创建一个二维矢量 我尝试访问这个矢量 我得到 fail.How 我可以私下加载一个板的二维矢量吗 我如何公开使用这个板?如何为二维向量创建 getter、setter 或构造函数?
您可以使用下面给出的程序作为起点(参考)。 class board
有一个名为 vect
的私有数据成员和名为 getVector
、setVector
和 display
的 public 成员函数。
#include <iostream>
#include <vector>
class board{
public:
//create getter
std::vector<std::vector<int>> getVector() const
{
return vect;
}
//create setter
void setVector(std::vector<std::vector<int>> pvect)
{
vect = pvect;
}
//display() function that prints elements of the vect data member
void display()
{
for(const std::vector<int> &elem: vect)
{
for(int intElem: elem)
{
std::cout<<intElem<<std::endl;
}
}
}
private:
std::vector<std::vector<int>> vect;
};
int main()
{
//create a board instance
board myBoard;
std::vector<std::vector<int>> vect{
{0,0,1,1,2},
{1,1,0,2,1},
{1,1,2,2,0},
};
//use the setter to set the vect data member
myBoard.setVector(vect);
//lets print out the elements of the data member vect for the object myBoard using the display() member function
myBoard.display();
return 0;
}
上面程序的输出可见here.