gpt4 book ai didi

c++ - C++ 中类似 C# 的属性

转载 作者:行者123 更新时间:2023-11-28 00:36:26 24 4
gpt4 key购买 nike

<分区>

考虑在 C++ 中模拟 C# 的属性的方法,我得出以下解决方案:

#include <iostream>

class obj_with_property {
private:
class mykey {};

public:
class int_property {
private:
int m_v;
public:
int_property (int v, mykey) : m_v (v) {
}

int_property & operator = (int v) {
m_v = v;
return * this;
}

operator int () const {
return m_v;
}
};

int_property A;

obj_with_property () : A (int_property (0, mykey ())) {
}
};

int main(int argc, char **argv) {
obj_with_property obj;
std::cout << obj.A << std::endl;
obj.A = 25;
std::cout << obj.A << std::endl;
return 0;
}

我想这种方法可以进一步改进,例如通过制作 int_property 模板等。现在我无法想象我是第一个有这个想法的人。有人知道是否在任何地方都讨论过类似的方法吗?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com