第一种模式:
class A
{
};class B
{    
private:
    A a;
};第二种模式:
class A
{
};class B
{    
private:
    A *a;
};
第三种模式:
class A
{
};class B
{    
   void test()
   {
     A *a = new A();
    }
};请问这三种模式创建对象a的区别,也就是分别在什么情况下使用这三种模式?