Я новичок в C ++ и не могу правильно определить карты в определении класса.
Вот код, который я написал:
#include<stdio.h>
#include <iostream>
#include <map>
#include <utility> // make_pair
#include <string.h>
#include <sstream>
using namespace std;
class assgnt
{
private:
//typedef std::map<int, int> MapType;
//MapType my_map;
public:
bool isGoodPoint(int x, int y);
void addGoodNeighbours(int x, int y);
};
inline bool assgnt::isGoodPoint(int x, int y)
{
string xs, ys;
stringstream xout, yout;
int xsum=0, ysum=0;
xout<<x; yout<<y;
xs = xout.str();
ys = yout.str();
for each (char c in xs)
{
xsum = xsum + int(c);
}
for each (char c in ys)
{
ysum = ysum + int(c);
}
if (xsum+ysum <= 19)
return true;
else
return false;
}
inline void assgnt::addGoodNeighbours(int x, int y)
{
//if assgnt::isGoodPoint(x+1,y)
if(isGoodPoint(x+1,y))
{
}
/*if isGoodPoint(x+1,y) and [x+1,y] not in points: points.append([x+1,y])
if isGoodPoint(x-1,y) and [x-1,y] not in points: points.append([x-1,y])
if isGoodPoint(x,y+1) and [x,y+1] not in points: points.append([x,y+1])
if isGoodPoint(x,y-1) and [x,y-1] not in points: points.append([x,y-1])*/
}
int main()
{
typedef std::map<int, int> MapType;
MapType my_map;
// insert elements using insert function
my_map.insert(std::pair<int, int>(0, 0));
int i=0;
while true
{
//my_map.insert(std::pair<int, int>(2, 2));
//my_map.insert(std::pair<int, int>(3, 3));
//my_map.insert(MapType::value_type(4, 4)); // all standard containers provide this typedef
//my_map.insert(std::make_pair(5, 5)); // can also use the utility function make_pair
MapType::iterator iter = my_map.begin();
std::cout << "Size of my_map: " << my_map.size() << '\n';
std::cout << "Enter a key to search for: ";
int c;
std::cin >> c;
iter = my_map.find(c);
if (iter != my_map.end())
{
int num = iter->second;
if(num == 0)
std::cout << "Value is found: " << iter->second << '\n';
else
std::cout << "Value not found: ";
}
else
std::cout << "Key is not in my_map" << '\n';
// my_map.clear();
}
Я хочу определить карту typedef std :: map MapType; в определении класса, чтобы я мог использовать его во всех встроенных функциях и main (), создав его объект.
Пожалуйста, помогите.