| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 747 人关注过本帖
标题:看VC++技术内幕有一句话不明白,望高手解答!
只看楼主 加入收藏
asd6791868
Rank: 1
来 自:逆流
等 级:新手上路
帖 子:362
专家分:7
注 册:2008-7-27
结帖率:88.24%
收藏
已结贴  问题点数:20 回复次数:5 
看VC++技术内幕有一句话不明白,望高手解答!
CRect left,top,right,bottom
CPoint x,y
CSize cs,cy  

从CPoint对象减去另一个CPoint对象,得到一个CSize对象。

CRect类有涉及CSize和CPoint类的成员函数。例如,TopLeft成员函数返回一个CPoint对象,Size成员函数返回一个CSize对象。从这一点我们可以看出,一个CSize对象是两个CPiont对象的差,而却我imenkeyiyongyigeCPoint对象进行偏移得到CRect对象。
搜索更多相关主题的帖子: 内幕 技术 解答 
2009-08-08 11:09
xufen340
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:166
专家分:1351
注 册:2009-8-7
收藏
得分:20 
操作符重载决定,我查了查msdn,cpoint操作符重载-号有以下操作符重载,可以看出
CSize operator -( POINT point ) const; cpoint-cpoint得到一个CSize对象
 
CPoint operator -( SIZE size ) const; cpoint-csize得到一个Cpoint对象

 
CRect operator -( const RECT* lpRect ) const; 得到一个Cpoint对象CRect对象
 
CPoint operator -( ) const; 取负数
 
2009-08-08 11:24
asd6791868
Rank: 1
来 自:逆流
等 级:新手上路
帖 子:362
专家分:7
注 册:2008-7-27
收藏
得分:0 
从CPoint对象减去另一个CPoint对象,得到一个CSize对象。
这句话不明白为什么得到的是一个CSize对象

─條路 :  ┈片天  ┈個人  ─瞬間:
2009-08-08 11:27
xufen340
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:166
专家分:1351
注 册:2009-8-7
收藏
得分:0 
在CPOINT中有这样一句CSize operator-(POINT point) const;操作符重载,
看afxwin.h,
class CPoint{
    .....
CSize operator-(POINT point) const;
    .....
}
   

当处理CPOINT对象-CPOINT对象时,就调用operator-函数,返回CSize对象。
2009-08-08 11:40
xufen340
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:166
专家分:1351
注 册:2009-8-7
收藏
得分:0 
定义文件在AFXWIN1.INL中
_AFXWIN_INLINE CSize CPoint::operator-(POINT point) const
    { return CSize(x - point.x, y - point.y); }

没错,返回的就是CSIZE对象。
2009-08-08 11:59
asd6791868
Rank: 1
来 自:逆流
等 级:新手上路
帖 子:362
专家分:7
注 册:2008-7-27
收藏
得分:0 
哦 我明白了

─條路 :  ┈片天  ┈個人  ─瞬間:
2009-08-08 12:16
快速回复:看VC++技术内幕有一句话不明白,望高手解答!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017596 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved