If I understand your question correctly, you want to create an object a without transferring to it a pre-existing object of the same type.
To do this, you need to add a constructor to class A, which does not accept a parameter of type A or does not modify an existing one:
class A { A() {
If for some reason you cannot change class A, you will need to follow Mark Bayer's answer and pass a null reference to the constructor.
Update
With updating your code, this problem (or a thought experiment) is insoluble: class A cannot be created as written.
source share