以下程序,哪个是不正确的?
A、int main(){ 
          class A { int v; }; 
          A a; a.v = 3; return 0;
}
B、int main()  {
         class A { public: int v; A * p; }; 
         A a;  a.p = & a;  return 0;
}
C、int main()  {
   class A { public: int v; };
   A * p = new A;
   p->v = 4;  delete p;
   return 0;
}
D、int main() {
  class A { public: int v; A * p; };
  A a; a.p = new A; delete a.p;
  return 0;
}