【问题标题】:Workaround for accessing non-static members inside static member functions访问静态成员函数中的非静态成员的解决方法
【发布时间】:2013-09-11 09:23:10
【问题描述】:

在另一个类(比如 B)的静态成员函数中访问某个类(比如 A)的非静态成员变量的解决方法是什么?我正在用 C++ 编码。 A 类是使用 B 类的公共属性派生的。

任何指针?

【问题讨论】:

  • 通过对象访问非静态成员,通过类访问静态成员。因此,要从静态成员函数访问非静态成员,您需要知道要访问成员 var 的对象。你能多谈谈你的问题吗?
  • 如果你需要这个,你可能有糟糕的设计或者不理解静态和非静态成员的目的(或者它是一个X-Y problem)。你能更具体地说明你(认为你)为什么需要这个吗?

标签: c++ class static


【解决方案1】:

在调用静态成员函数时将引用/指针传递给实例。使用该实例调用非静态成员函数。

【讨论】:

    【解决方案2】:

    可以通过类的实例访问非静态成员。因此,您可以通过静态成员函数中该类的实例访问成员(非静态)。

    问候, 飞溅

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-30
      • 1970-01-01
      • 1970-01-01
      • 2013-05-03
      • 2016-01-13
      相关资源
      最近更新 更多