Создание оболочки CSize из QSize - PullRequest
1 голос
/ 02 июня 2011

Я пытаюсь создать оболочку для класса QSize Qt.Вот фрагмент кода.

class CSize
{
private:
    QSize m_szSize;

public:
    int cx,cy;

CSize();
CSize(int cx,int cy)
{

}
CSize(const CSize& obj)
{
    m_szSize.setWidth(obj.cx);
    m_szSize.setHeight(obj.cy);
}
};

Но когда наступит следующая ситуация,

CSize sz;
sz.cx = 10;
sz.cy = 20;

Как я могу обновить значения m_szSize.Кто-нибудь, пожалуйста, помогите мне.

Ответы [ 2 ]

1 голос
/ 02 июня 2011

Вам необходимо указать cx и cy как личные данные и добавить методы доступа для cx и cy:

void setCx(int p_cx) { cx = p_cx; m_szSize.setWidth(cx); }
void setCy(int p_cy) { cy = p_cy; m_szSize.setHeight(cy); }
int getCx() const { return cx; }
int getCy() const { return cy; }
0 голосов
/ 02 июня 2011

Может быть безопаснее хранить данные в qsize и просто создавать CSize при необходимости.

например, если вам нужен csize для вызова какого-либо существующего API

CallToSomeOldAPI(CSize(m_qsize.x,m_qsize.y));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...