Qt基础类01--坐标类QPoint

基本信息

时间:2024.08.27
QT版本:5.14.2
平台:window 10

程序简介:
1.本工程是Qt基础类和基本数据类型专题例程,QPoint坐标类
2.本工程对照着Qt的帮助文档,把每个属性和成员函数测试了一遍
3.本工程,为学习Qt的其它类,其它帮助文档中的内容,留下一个模版

程序说明:
1.打印每个成员函数的帮助信息
2.每个按钮,验证一个成员函数
3.pro文件,添置CONFIG += console,输出重定向到控制台
4.toCGPoint、QDataStream,这2项相关,暂未测试验证

QPoint类帮助中的2种操作符重载

在查阅QPoint类的帮助文档中,注意到,同样的操作符重载,有2种,一种是返回的引用,一种是返回的副本。
这也是我在查阅完文档之后,决定把测试程序的按钮把引用和副本标出来的原因,否则不必这么麻烦。
关于标准C++的操作符重载,不是这里的重点,不过多赘述,请参考其它资料。
操作符重载,最通俗易懂的理解,就是“可以将类对象像基本数据类型一样,进行+ - * / 的运算”。
举例:

int a=1;
intb=2;
//这里的+的2个操作数是int类型的
int sum=a+b;

加法操作符重载之后,可以进行类对象的加法,举例如下:

Object obj1;
Object obj2;
Object objSum;
//这里的+的2个操作数不是基本数据类型,是类对象
objSum=obj1+obj2;

Qt的帮助文档中,关于加法操作符的重载,有如下2段,请注意看!
第1段,这里返回的是引用

QPoint &QPoint::operator+=(const QPoint &point)
Adds the given point to this point and returns a reference to this point. For example:
将给定点添加到此点,并返回对此点的引用。例如:
QPointp( 3, 7);
QPoint q(-1, 4);
p += q; // p becomes (2, 11)
See also operator-=().

第2段,这里返回的是副本,即对象,即复制了一个对象,这是要开辟内存,占用内存的。

const QPointoperator+(const QPoint&p1, const QPoint&p2)
Returns a QPointobject that is the sum of the given points, p1 and p2; each component is added separately.
返回一个QPoint对象,它是给定点p1和p2的总和;每个组件都是单独添加的。
See also QPoint::operator+=().

【题外话】
这里不吐不快。非常感谢年轻时遭受的白眼与轻蔑,没有这些,想必前进的动力也会少了很多。
记得我刚毕业的时候,刚踏入社会走向工作时,曾经在闲聊时,向项目合作中来自上海的2个同事,请教关于内存的重要性,问了句“为什么行业内的前辈都在强调内存的重要性,网上写文章都说,调试的时候要注意看内存,内存怎么看啊?”
这2个来自上海的同事,一男一女,男的是博士,女的是老板的关系户,这2个人都摇头和我说“不知道,不会”。
我当时一脸疑惑,不能吧~!他们工作这么多年,怎么可能不会啊!这水平也一般般啊!

现在回再回想起来,人家怎么可能是水平一般般,怎么可能是不会,只不过,当前的我,还不具备和人家对话的能力和条件罢了,就算人家花时候给我讲一讲,我大概率也听不懂,胡乱还会再问一堆问题,人家就算花时间给我讲了,我可能还是一知半解。人家只不过是没必要给我讲罢了。

还好,本人比较有自知知明,没有过多打扰。这些年,这个瞬间也没有忘记。也激励自己不断的学习、积累、前进、提高。

重要成员函数举例6个

这里,最基本的获取坐标,point.x()和point.y()等,rx(),ry()等不再详细介绍、不再贴代码了。
工程上传至优快云,供同一时期学习QT的网友参考,可自行查看。
这里仅介绍新手小白可能值得一看的内容贴出来。

程序全貌

这个练习程序,是对照着QT中QPoint的帮助文档,一个一个测试形成的。全貌如下图:
在这里插入图片描述

bool QPoint::isNull() const

程序运行效果如下:

    qDebug()<<"帮助:如果x和y坐标都设置为0,则返回true,否则返回false。";

    QPoint p1(0,0);
    QPoint p2(300,200);

    qDebug()<<"p1的原坐标是:"<<p1.x()<<","<<p1.y();
    qDebug()<<"p2的原坐标是:"<<p2.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值