您的位置:首页 > 编程语言 > C语言/C++

C++中括号()操作符的重载举例及解析

2016-01-10 23:39 423 查看
C++项目中,经常会遇到使用重载()操作符的地方,请看下面一个例子:

 

[cpp] view
plaincopy

#include <iostream>  

using namespace std;  

class Clastype  

{  

    public:  

        Clastype(int a)  

        {  

            cout << "Hello Clastype!" << a << endl;  

        }  

        bool operator ()(int b)  

        {  

            cout << "Hello Clastype()!" << b << endl;  

            return true;  

        }  

};  

int main()  

{  

    Clastype a(1);  

    Clastype(2);  

    Clastype t = Clastype(3);  

    t(4);  

    Clastype *b = new Clastype(5);  

    (*b)(6);  

}  

 

运行结果如下:

[cpp] view
plaincopy

@-desktop:~/test$ g++ -o o 6.cpp  

@-desktop:~/test$ ./o  

Hello Clastype!1  

Hello Clastype!2  

Hello Clastype!3  

Hello Clastype()!4  

Hello Clastype!5  

Hello Clastype()!6  

 

 

可见,括号操作符的使用为对象加上()操作符。类名直接加()操作符为对象的创建。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: