ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

C++ 重载括号运算符示例

2026/8/6 3:02:55 拓冰建站 浏览量
C++ 重载括号运算符示例

重载括号运算符的写法是,

    返回值  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 hereCString 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);
}

第一次和第三次是调用重载的括号运算符;第二次是调用成员函数;