重载括号运算符的写法是,
返回值 operator() ( 表达式表 )
参数个数不限;
VC6新建一个单文档工程;
 添加一个示例类,比较短,直接加到视类h文件的头部;
class A
{
public:
	// 重载 括号 () 运算符
	int operator()(int a, int b)
	{
		return a + b;
	};
	// 正常的函数
	int add(int a, int b)
	{
		return a + b;
	};
	// 重载 括号 () 运算符
	int operator()(int a, int b, int c)
	{
		return a*b+c;
	}
}; 
 
类A重载了2次括号运算符,一次有2个参数,一次有3个参数;
调用如下;
  
void CKhczView::OnDraw(CDC* pDC)
{
	CKhczDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	CString str1;
	A a;
	str1.Format("%d",a(9,10));
	pDC->TextOut(20,20, str1);
	str1.Format("%d", a.add(9,9));
	pDC->TextOut(20,50, str1);
	str1.Format("%d", a(2, 50, 9));
	pDC->TextOut(20,80, str1);
}第一次和第三次是调用重载的括号运算符;第二次是调用成员函数;
 
 



















