关于C++运算符重载的参数问题

阿高 2011-03-11 11:03:23
我看到D3D里有这样的函数声明:

typedef struct D3DXVECTOR3 : public D3DVECTOR
{

...

// assignment operators
D3DXVECTOR3& operator += ( CONST D3DXVECTOR3& );
D3DXVECTOR3& operator -= ( CONST D3DXVECTOR3& );
D3DXVECTOR3& operator *= ( FLOAT );
D3DXVECTOR3& operator /= ( FLOAT );

...

} D3DXVECTOR3, *LPD3DXVECTOR3;



假如没有参数的声明,如何在函数定义里对传入的参数进行操作?

比如我重载一个运算符 void operator ()(int* p);
那么实现的时候可以使用p进行操作
假如写成void operator ()(int* );
如何操作传入参数?
...全文
69 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2011-03-11
  • 打赏
  • 举报
回复
D3DXVECTOR3 obj;

obj+=1.2f;
int i=2;
obj(i);
obj(&i);
quwei197874 2011-03-11
  • 打赏
  • 举报
回复
保持一致就好.
LinuxBirdMan 2011-03-11
  • 打赏
  • 举报
回复
结贴吧。。LZ
yuyan_linger 2011-03-11
  • 打赏
  • 举报
回复
声明可以不写
定义和调用一定要写的 随便写个参数名 想怎么操作就怎么操作
pengzhixi 2011-03-11
  • 打赏
  • 举报
回复
额在定义这些重载函数的时候你肯定要给一个参数名的。

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧