例如有个类  Class1Class1* class1;
和Class1 class1;
有什么区别?  为什么有时候必须用Class1* class1;呢?

解决方案 »

  1.   

    Class1* pclass1;//pclass1是一个指针。在给这个指针赋值前,是无效值,
                    //不能使用这个变量去访问类的成员函数或变量 
    Class1 class1;//class1是一个类对象。在声明时调用了default
                  //constructor 初始化类成员变量。下面就可以直接使
                  //用这个变量了
      

  2.   

    Class1* class1;  -- 类指针
    Class1 class1;   -- 类实例
      

  3.   

    Class1* class1;  -- 类指针,它在调用函数或变量时用 -> 操作符,它必需被赋值以后才能使用这个变量去访问类的成员函数或变量 。
    Class1 class1;   -- 类实例,它在调用函数或变量时用 . 操作符,它在声明后自动调用缺省构造函数初始化类成员变量。