1、定義結構體
struct
currency
2、過載io輸出操作,在結構體內部將輸入操作的過載定義為友元函式過載
friend
ostream &operator<<(ostream &out,currency value);
在結構體外部進行具體定義
ostream& operator<<(ostream &out,currency value)
3、過載結構體的「=」操作符(在結構體內部)
currency& operator=(currency& value)
4、過載結構體的「+」操作符(在結構體內部)
currency& operator+(currency& value)
5、過載結構體的"-"操作符(在結構體內部)
currency &operator-(currency& value)
6、過載結構體的「*」操作符(在結構體內部)
currency& operator*(currency& value)
7、定義函式模板格式的輸出函式
template
<
typename
t>
void
displayvalue(t value)
附上完整程式**。。。
#include "stdafx.h"
#include
using
namespace
std;
template
<
typename
t>
void
displayvalue(t value)
struct
currency
currency& operator+(currency& value)
currency &operator-(currency& value)
currency& operator*(currency& value)
friend
ostream &operator<<(ostream &out,currency value);
};
ostream& operator<<(ostream &out,currency value)
int
_tmain(
int
argc, _tchar* argv)
結構體運算子過載
c 中,結構體是無法進行 這些操作的,這也帶來了很多不方便的地方,尤其是在使用stl容器的時候,如果我們可以往語句中傳入結構體,一些事情將會變得很簡單。比如二分查詢,binary crearch只能對陣列進行查詢,如果是結構體陣列的話,它會報錯。但很可惜,實際程式設計中,大部分時候操作物件是結構體陣...
結構體中運算子的過載
c 中,結構體是無法進行 這些操作的,這也帶來了很多不方便的地方,尤其是在使用stl容器的時候,如果我們可以往語句中傳入結構體,一些事情將會變得很簡單。比如二分查詢,binary crearch只能對陣列進行查詢,如果是結構體陣列的話,它會報錯。但很可惜,實際程式設計中,大部分時候操作物件是結構體陣...
優先佇列和結構體的運算子過載
自定義結構體是做題必須要學會的,而且經常需要用到自定義其排序規則。優先佇列也是,對於基本資料型別來說,不用自定義優先規則,但是對於自定義資料型別來說,確實是需要自己定義其內部的排序規則的。今天發現原來兩者的定義規則可以使用同一種方式來定義。struct node node int xx,int yy...