__declspec(property) C++设置类属性

最近看代码,发现C++的类也有属性功能,以前真没发现过。记录下来以免忘了。

头文件A.h
class A
{
public:
    A(void);
    ~A(void);
    int get_Value();
    void set_Value(int value);
    __declspec(property(get = get_Value, put = set_Value)) int Value;//设置属性,关键就是这句。
Private:
    int m_Value;
}
源文件A.cpp
#include “A.h”
A::A(void)
{}
A::~A()
{}
int A::get_Value()
{
    return m_Value;
}
void A::set_Value(int value)
{
    m_Value = value;
}
测试代码
A proA;
proA.Value = 10;    // Value值发生变化时,相当于调用set_Value() 
cout< proA.set_Value(200); //调用set_Value()时,m_Value值改变,Value值也跟着改变。
cout< cout< 运行结果
10
200
200
 

你可能感兴趣的:(C++)