0

Not sure this is going to be easy to explain but ...
I have a class (A) that needs to have access to a map (mapCodes), this map is the same for all instances of class(A), therefore I don't want to create an instance of the map for each instance of class A and populate it, etc ....

This is my code right now:

A.h (header file)

class A
{
private:
	static map<int, string> mapCodes;

public:
	A();	// constructor
};

A.cpp (header file)

A::A
{
	mapCodes[1] = "AAA";
	mapCodes[2] = "BBB";
	mapCodes[3] = "CCC";

}

Now, for every object of class A I call the constructor which uses the same STATIC mapCodes (which is good) but the constructor also repopulates it each time ... what a waste ...
Isn't there a way I can ... declare mapCodes and its initialization as static so I only have 1 instance populated once?

I was looking into doing something like using a STATIC CLASS or STATIC STRUCT but couldn't seem to get it to work - when doing some reading a lot of people were saying that c++ doesn't really support STATIC CLASSES...

Any help would be much appreciated...
Thanks,

3
Contributors
2
Replies
3
Views
8 Years
Discussion Span
Last Post by jencas
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.