【发布时间】:2013-09-24 08:58:23
【问题描述】:
好的,所以下面我有一个 c++ 结构:
typedef struct tagRECTEx{
int top;
int bottom;
int left;
int right;
int width=(this->right-this->left);
int height;
} RectEx;
现在我想做的是,当我声明说 RextEx WindowSize;我分配 WindowSize.left=250 和 WindowSize.right=300,我希望它在 WindowSize.width 为我减去它的地方,所以当我去使用 cout
我不想这样做:
WindowSize.width=(WindowSize.right-WindowSize.left);
我想通过:
... int width=(this->right-this->left); ...
唯一可行的方法是如果我这样做:
typedef struct tagRECTEx{
int top;
int bottom;
int left=250;
int right=300;
int width=(this->right-this->left);
int height;
} RectEx;
但我不能让它这样做,因为它们总是会改变。
有人可以帮我解决这个问题吗,因为过去 5 个小时我一直在尝试在 google 上在线查找此内容。
谢谢
【问题讨论】:
-
实现getter/setter方法
-
不,不要“实现”getter/setter。实现一个调整大小的方法。
-
@jrok 仅当属性是私有的且无法规避时,resize 方法才会有所帮助。
标签: c++ struct initialization auto assign