1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
#include <map>
#include <iostream>
#include <string>
#include <vector>
#ifndef CLASSC_H
#define CLASSC_H
#ifdef WIN32
#pragma warning (disable: 4786) // warning: long & complicated stl warning
#pragma warning (disable: 4788) // warning: long & complicated stl warning
#pragma warning (disable: 4660)
#pragma warning (disable: 4275) // warning: non dll-interface class used as...
#pragma warning (disable: 4305) // warning: truncation from 'const double' to 'const float'
#endif
typedef std::pair<std::string, int> STR_INT;
typedef std::vector<STR_INT> PAIR_VECT;
class classC {
public:
classC() {
setProp("useless", 10);
};
~classC() {}
void printC() const {
if (hasProp("useless")) {
std::cout << "has useless\n";
}
}
bool hasProp(std::string key) const {
PAIR_VECT::const_iterator pvi;
for (pvi = dp_props.begin(); pvi != dp_props.end(); pvi++) {
if (pvi->first == key) {
return true;
}
}
return false;
}
void setProp(std::string key, int val) {
std::pair<std::string, int> newp(key, val);
dp_props.push_back(newp);
}
private:
PAIR_VECT dp_props;
};
#endif
|