使用指针访问类的私有或受保护数据

时间:2012-09-03 19:30:23

标签: c++ class pointers

假设我们有两个函数(不是任何类成员):

int input_int (int *p)
{
 p[0] = 10;
 return p[0];
}

char input_char (char *p)
{
 p[0] = 5;
 return p[0];
}

还有一些课程:

class foo {
   public:
      foo();
      void some_usefull_stuff() {
           int i = input_int( &(this->A) );
      }
   protected:
      void feature_for_usefull_stuff() {
           char chr = input_char( &(this->B) );
      }
      int A;
   private:
      char B;
};

函数input_char和input_int是否正常工作?它们不会产生分段错误或任何异常吗?

1 个答案:

答案 0 :(得分:1)

是的,它们将正常工作,传递给方法的地址是正确的,并指向正确的数据类型。