shared pointers

I am new to shared pointer conceot in C++ and hence require some clarification:

For example:

    class A
    \{
            public:
            virtual ~A\(\)
            \{
            \}
              int x;
    \};
    typedef boost::shared_ptr<A> APtr;


    APtr getA\(\)         
    \{
            return APtr\(new A\(\)\);
    \}
    A::A\(\)
    \{
            x = 0;
    \}

When ever I call APtr getA() will every instance of object A will see x as 0?

I would like to modify and clarify my point here

I have a class in which constructor I have declared a member variable as 0. Now I am using a shared pointer to access object created in heap. So incase if we create another instance of the class will there only be one instance of the class but two shared pointers or two instances of class.

My interest is the class constructor is initializing the member variable to 0. Now before the second instance is created that member variable is incremented. So when the second call is made will the first instance see the value of x as 0?

Please confirm