2009年2月28日 星期六

C++ - 重載運算子

基本上運算子只有用在基本的變數型態,像是int、double、float...
而若建立的物件要加入運算的功能的話,就要在另外宣告類別中的運算子的定義

可以參考
良葛格學習筆記 - 重載運算子
良葛格學習筆記 - 使用 friend 函式重載運算子

同時,有時候會使用到return 的傳值、傳參考,所以,此篇文章也必需要參考到!

另外,必需注意的一點是若要重載ostream的<<或是>>運算子時,必需有一定的格式,我現在還不是很清楚,以後,有空再確認一下。

ostream &operator<<(ostream &s, class-name ob) {
// 實作
return s;
}

以下有一個我寫的例子
main.cpp
#include <iostream>
using namespace std;

class Foo
{
public:
Foo() {
// do nothing
}
void operator<<(const int value) const {
cout << "Hello World!!" << endl;
}
};

int main()
{
Foo foo;
// 會印出Hello World!!
foo<<2;
return 0;
}

沒有留言: