我有这堂课:
class Size
{
private:
int size_x;
int size_y;
int GetX( void );
int GetY( void );
void PutX( int x );
void PutY( int y );
public:
_declspec ( property ( get = GetX , put = PutX ) ) int X;
_declspec ( property ( get = GetY , put = PutY ) ) int Y;
};
此代码无效,因为当我尝试访问X或Y时,会使用私有方法。
如何创建一个使用不能在课外使用的函数的属性?
答案 0 :(得分:1)
如何制作使用不能使用的功能的属性 在课外?
我害怕只能用另一种语言。标准C ++没有这样的属性糖(遗憾的是),虽然有一些黑客,但它们都不是很漂亮,包括微软。有关您的私有方法与Microsoft declspec(property)
扩展程序不兼容的特定问题,请参阅此处以获取更多信息:
http://blog.aaronballman.com/2011/11/an-almost-useful-language-extension/