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
   | #include <map>
#include <string>
#include <iostream>
 
using namespace std ;
 
class Toto
{
	const map<string,string> s_map;
 
protected:
	virtual const map<string,string> init()
	{
		map<string,string> ret ;
		ret["h1"] = "value1" ;
		return ret ;
	}
public:
	Toto() : s_map( init() ) {}
	~Toto() {}
	inline const map<string,string>& getMap() { return s_map; }
};
 
class SuperToto : public Toto
{
protected:
	virtual const map<string,string> init()
	{
		map<string,string> ret = Toto::init();
		ret["h2"] = "value2" ;
		return ret ;
	}
 
public:
	SuperToto() {}
};
 
int main()
{
	SuperToto toto ;
	map<string,string>::const_iterator it = toto.getMap().find("h2");
	if ( it != toto.getMap().end() )
		cout << (*it).second << endl ;
	else
		cout << "Not found" << endl ;
} | 
Partager