C++ 運算符重載之把類對象當着函數名使用

簡要

首先,這篇博客名聽起來有點摸不着頭腦,看完效果之後,更會覺得C++的博大精深,要學的東西也太多。

運行效果

這裏寫圖片描述

例子代碼

#include <QCoreApplication>
#include <iostream>
using namespace std;

class Pow
{
public:
    int operator()(int param)
    {
        return param * param;
    }
};

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    Pow pow;

    cout << "the result is:  " << pow(5) << endl;
    return a.exec();
}

部分解析

通過簡單的幾行代碼,來實現把類對象當着函數名的使用。
其實調用pow(5) 時,就是調用了, pow.operator()(5) ,這是的運算符重載 爲Pow的成員函數。 它可以看作pow()5, 而實際運用中系統自動做了一些處理, 所以可以直接使用pow(5), 並得到正確的值。

而講到運算符重載,可以聯想到兩種:
1是友員函數進行重載。
2是成員函數進行重載。
3.單目,雙目的不同操作。

發佈了88 篇原創文章 · 獲贊 52 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章