#include <stdio.h>


class Accumulator {
public:
    static Accumulator* getInstance();
protected:
    Accumulator();
private:
    static Accumulator* instance;
};

Accumulator* Accumulator::instance = NULL;

Accumulator::Accumulator() { }

Accumulator* Accumulator::getInstance() 
{
    if(instance == NULL)
        instance = new Accumulator;
    
    return instance;
}

int main()
{
    Accumulator* A;

    A = Accumulator::getInstance();

    Accumulator* A1;

    A1 = Accumulator::getInstance();

    printf("A  address: %p\n", A);
    printf("A1 address: %p\n", A1);

    return 0;
}