C++ 重载函数调用运算符 ()
C++ 允许重载函数调用运算符 ()
重载 ()
,不是创造了一种新的调用函数的方式,而是创建一个可以传递任意个参数的运算符函数
其实就是创建一个可调用的对象
我们写一个实例,看看重载函数调用运算符 ()
的妙用
/** * file: main.cpp * author: 简单教程(www.twle.cn) * * Copyright © 2015-2065 www.twle.cn. All rights reserved. */ #include <iostream> class Rect { private: int width; int height; public: Rect() { width = 0; height = 0; } Rect(int a ,int b ) { width = a; height = b; } void operator()() { std::cout << "area of me is:" << width * height << "\n"; } }; int main() { Rect r1(3,4), r2(6,8); std::cout << "r1: "; r1(); std::cout << "r2: "; r2(); return 0; }
编译和运行以上范例,输出结果如下
r1: area of me is:12 r2: area of me is:48