C++ - 括号运算符重载

一、概念及基础

圆括号运算符()也可以重载,重载之后对象就可以使用圆括号运算符了。括号运算符只能被重载为类的非静态成员函数,不能重载为友元函数和普通函数。重载括号运算符函数的参数个数没有限制,甚至没有参数都可以。
 

重载格式:
    返回值  operator() ( 表达式表 )

二、简单示例

#include <iostream>

using namespace std;

//括号运算符只能重载为类的非静态函数

//括号英文:brackets
class BracketsOperator
{
public:
	BracketsOperator(int num)
	{
		m_nNum = num;
	}


	//输出数字;//功能函数;
	void operator()(int num)
	{
		cout<<"num == "<<num<<endl;
	}

	//返回数值相加结果;//功能函数;//并且输出
	void operator()(int num1,int num2)
	{
		cout<<"num1+num2 == "<<(num1+num2);
	}

	//
public:
	int m_nNum;
};

int main(int argc,char** argv)
{
	//
	BracketsOperator bo(5);

	//输出成员变量值;
	bo(bo.m_nNum);


	//输出数值1;
	bo(1);

	//输出数值相加结果
	bo(1,2);

	return 0;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫忘输赢

莫忘输赢 - 收钱袋

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值