求一个 = 赋值号 运算符重载函数
typedef struct FPointtag
{
float x, y;
}FPoint我想使
FPoint a;
CPoint b;
a =b
成为可能应该怎样写?
typedef struct FPointtag
{
float x, y;
}FPoint我想使
FPoint a;
CPoint b;
a =b
成为可能应该怎样写?
解决方案 »
- VC++6.0中,如何从工程中删除一个文件?
- vs2010MFC中使用ODBC链接ACCESS数据库,请问怎么样发布?
- rundll32.exe C:\WINDOWS\system32\shimgvw.dll,ImageView_Fullscreen +fi系统图片查看器打不开?
- formview动态显示图片
- CSocket or CAsyncSocket实现UDP广播
- 虚拟桌面问题?
- 哪儿有CString类成员函数使用的说明??比如:实现DOS下的strcat()?在线等~
- 【help】哪里有封装好的RSA算法C++类和C源代码以及例子程序
- 实时画图,数值大于最大纵坐标时改变重新画
- windows gui程序是,如何得到一个命令行,并输出我的调试信息
- 问大家一个关于截获IP的问题,没事的就帮着up
- MFC编写的Dll
我觉得用指针比较好
不过好象struct结构自己会把a中的每一项给b的
{
float x, y;
BOOL operate = (CPoint p);
{
x = p.x;
y = p.y
}
}FPoint
不知道对不对,你试试先。
{
fpt.x = cpt.x;
fpt.y = cpt.y;
return FPoint(fpt.x,fpt.y);
}
{
float x, y;
public:
void operator=(CPoint& p)
{
x = float(p.x);
y = float(p.y);
}
};
我测过,OK!
typedef struct FPoint2Dtag
{
float x;
float y;
void operator =(const CPoint &Point)
{ x = (float)Point.x;
y = (float)Point.y;
}}FPoint2D;
也能够通过编译,并且运行正常,还请各位帮忙看看有没有潜在错误。
比如CPoint s1; FPoint f2;
f2 = s1;
可以正常实现。
FPoint f1,f2;
CPoint c1;
f2 = f1 = c1;
{
float x, y;
public:
void operator=(CPoint& p)
{
x = float(p.x);
y = float(p.y);
}
void operator=(FPoint& pt)
{
x=float(pt.x);
y=float(pt.y);
}};
实现
FPoint f1,f2;
CPoint c1;
f1 = c1;
f2 =f1