簡要
首先,這篇博客名聽起來有點摸不着頭腦,看完效果之後,更會覺得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.單目,雙目的不同操作。