c++ - 如何获取 oc 类中私有(private) c++ 类型字段的值?

标签 c++ ios objective-c reflection

我在 iOS 中有 objective-c 类,有一个字段的类型是 c++ 类。 我没有 c++ 类的定义。
如何获取该字段的值?
以及如何更改此 C++ 类型字段的字段值?
例如。

@interface A 
    B b // c++ type
@end

class B {
    int c;
}

如何获取 b 的值?如何改变c的值?

最佳答案

使用访问器和修改器 a.k.a. getter/setter:

class B {
  public:
    int getC() { return c };
    void setC(int c_) { c = c_ };
  private:
    int c;
}

int main()
{
    B b;

    B.setC(50); // c = 50

    int x = B.getC() // x = 50;

    return 0;
}

关于c++ - 如何获取 oc 类中私有(private) c++ 类型字段的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53805250/

相关文章:

ios - UIButton 动画后没有响应

objective-c - 如何在 cocos2d 中启用多点触控?

C++ namespace 作为模块?

c++ - 在没有注册表的情况下存储应用程序数据/设置的方法?

c++ - Winsock -> WinRT Windows.Networking.Sockets -- 映射错误代码

c++ - 加载时动态链接库调度

ios - 如何将 UIViewController 呈现为局部 View ?

iOS 9 模拟器不工作

ios - 为添加边框的 UIView 创建子类的步骤是什么?

ios - 将枚举数组从 Swift 桥接到 Objective-C