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

C++ 使用指针访问类的私有或受保护数据,c++,class,pointers,C++,Class,Pointers,假设我们有两个函数(不是任何类成员): 还有一些班级: class foo { public: foo(); void some_usefull_stuff() { int i = input_int( &(this->A) ); } protected: void feature_for_usefull_stuff() { char chr = input_char( &

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

还有一些班级:

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\u char和input\u int是否正常工作?它们不会产生分段错误或任何异常吗?

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

简单地说
int i=a,这是一种非常复杂的方式@jrok,可能是因为它不是?更像是
inti=(A=10)
@eg我应该加上:“asumming A是用某个值初始化的”?在使用它的两个地方不需要
这个->
。你不需要在这些地方加括号
&A
&B
是所有需要的。所以,就像我假设的那样:所有这些类的东西就像“语法插件”。谢谢您的帮助。@user1644482如果您所说的“类内容”是指访问说明符,那么是的。它主要是为开发人员提供的,但是在访问说明符方面有(甚至是合法的)方法。我没有太多的C++经验,所以我仍然只定义“类”。谢谢
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;
};