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
|
#include <map>
#include <iostream>
#include <string>
#ifndef CLASSA_H
#define CLASSA_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
class classA {
public:
classA() { setProp("useless", 10); };
~classA() {}
void printA() const {
if (hasProp("useless")) {
std::cout << "has useless\n";
}
}
bool hasProp(const std::string &key) const {
return (dp_props.find(key) != dp_props.end());
}
void setProp(const std::string &key, int val) { dp_props[key] = val; }
private:
std::map<std::string, int> dp_props;
};
#endif
|