在C++编程中->与.有什么区别吗??????????

解决方案 »

  1.   

    Object ob;
    ob.output();Object *ob;
    ob->output();
      

  2.   

    class A
    {
    public:
       fun ();
       .............
    };A a, *b;a.fun ();   //a是类对象,用.
    b->fun ();  //b是指针,用->
      

  3.   

    .符号用于引用非指针定义的对象的成员
    ->用于引用指针定义的对象的成员
    例如:
    //定义一个类
    class  CSample
    {
    public:
      int num;
      char name[50];public:
      CSample();
    };
    此时在主函数里面定义一个CSample的对象
    CSample sample;
    然后就可以用以下表达式来给该对象的成员属性赋值
    sample.num = 10;
    strcpy(sample.name, "First");用指针定义
    CSample *sample = new CSample();
    此时就需要用->符号访问该对象的成员
    sample->num = 10;
    strcpy(sample->name, "First");
      

  4.   

    p->a等价于(*p).a。因为.的优先级比*大,所以要加括号,怕程序员忘记打括号,于是就多加一个运算符->。