请教一个关于运算符重载的问题-_-

jjq5200311 2005-11-23 12:25:11
问题如下:
重载函数调用运算符()的一个例子是将下面二维数组的下标表示方法
chessBoard[row][column]
改为通常所用的表示方法
chessBoard(row,column)

郁闷已久,往各位达人指点一二:)
...全文
160 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jamesybyue 2005-11-23
  • 打赏
  • 举报
回复
fiftymetre(猫猫死于心碎) 写得还不错,有发展前途
cunsh 2005-11-23
  • 打赏
  • 举报
回复
楼主的意思是重载( ) 所返回的应该是个左值呀;
xiaocai0001 2005-11-23
  • 打赏
  • 举报
回复
楼上举的例子还行

不过变量起的名字乱七八糟的
楼主千万别学.
fiftymetre 2005-11-23
  • 打赏
  • 举报
回复
重载操作符,给你举个简单例子

#include <iostream>
#include <string>
using namespace std;

template<class type, int i, int j>
class nw
{
public:
void Set(int ii, int ji, type t){m_p[ii][ji] = t;}
type operator()(int ii, int ji){return m_p[ii][ji];}
private:
type m_p[i][j];
};

int main()
{
nw<int,2,2> n;
n.Set(0, 0, 1);
n.Set(0, 1, 2);
n.Set(1, 0, 3);
n.Set(1, 1, 4);

int p = n(1, 0);
cout<<p<<endl;
system("pause");
return 0;
}
goodluckyxl 2005-11-23
  • 打赏
  • 举报
回复
这个是函数调用
写撑宏也可以
whatsouta 2005-11-23
  • 打赏
  • 举报
回复
类或结构体才有运算符重载,你要把数组实现为一个类,或结构体
jjq5200311 2005-11-23
  • 打赏
  • 举报
回复
自己顶一个先....

65,210

社区成员

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

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