正确的语法是我的意思,而且文档没有这方面的例子......
https://docs.microsoft.com/en-us/cpp/cppcx/properties-c-cx
这适用于标题
public interface class IFoo
{
property int Bar;
};
public ref class Foo sealed : public IFoo
{
public:
property int Bar {
virtual int get() { return _bar; }
virtual void set(int bar) { _bar = bar; }
};
private:
int _bar;
};
但是如果你想在实现cpp文件中实现get
和set
那么我就无法弄清楚语法。
public interface class IFoo
{
property int Bar;
};
public ref class Foo sealed : public IFoo
{
public:
property int Bar {
virtual int get(); // How are these implemented separately?
virtual void set(int bar);
};
private:
int _bar;
};
答案 0 :(得分:2)
属性get()和set()函数必须编译为cpp文件中的两个独立函数:
int Foo::Bar::get()
{
return _bar;
}
void Foo::Bar::set(int bar)
{
_bar = bar;
}