很抱歉提出这个问题,但是我有一个QPoint,应该像这个QPoint(x, y)一样带有x坐标和y坐标,而且我不确定如何声明它。

我看过QT的QPoint官方文档,但我想我缺少了一些东西。

class Item
{
public:
    Item();
    Item(const QString &name = "", const QPoint &coordinateXY = QPoint());

    QString name() const { return mName; }
    QPoint mAXY() const { return mAXY(); }

private:
    QString mName;
    QPoint mAXY();
};
#endif // ITEM_H


#include "item.h"
Item::Item(const QString &name, const QPoint &coordinateXY):
    mName(name),
    mAXY(aCoor);
{     }

我想声明一个同时包含x和y坐标的QPoint,我不确定是否应该声明N.2 QPoint还是在同一个QPoint上声明x和y。

非常感谢您的支持!

最佳答案

您已经声明了一个变量

QPoint mAXY;

那你就可以做到
QPoint mAXY() const { return mAXY; }

请注意,使用return mAXY;而不是return mAXY();会导致函数的递归调用,可能会导致应用程序崩溃,因为错误可能会发生。

作为代码规则,您可以使用前缀get来命名getter。

喜欢
QPoint getmAXY() const { return mAXY; }

09-12 16:34