運算子過載和STL

2021-08-20 07:24:31 字數 903 閱讀 2111

#include

using namespace std;

class printdata

public:

void print(int i)

void setlength(double len)

void setbreadth(double bre)

void setheight(double hei)

//過載+運算子,用於把兩個box物件相加

box operator+(const box&b)

//顯示vec擴充套件後的大小

cout<<"extended vector size="for(i=0;i<5;i++)

//使用迭代器iterator訪問值

vector::iterator v=vec.begin();

while(v!=vec.end())

return 0;

當上面的**被編譯和執行時,它會產生下列結果:

vector size=0

extended vector size=5

value of vec[0]=0

value of vec[1]=1

value of vec[2]=2

value of vec[3]=3

value of vec[4]=4

value of v=0

value of v=1

value of v=2

value of v=3

value of v=4

第一,過載運算子的存在實現了c++某些函式功能的合併,使得程式的編寫和執行更加有效率,為高階程式的簡潔化提供了保障;第二,stl標準庫的存在統一規範了運算子的功能性,使得c++程式的編寫更趨向於程式化,優化了程式漏洞的容錯性,為我們進一步學習高等編寫技能提供了保證。

STL 過載運算子

過載運算子 為什麼要過載運算子 c 中預定義的運算子的操作物件只能是基本資料型別。但實際上,對於許多使用者自定義型別 例如結構體 也需要類似的運算操作。這時就必須在c 中重新定義這些運算子,賦予已有運算子新的功能,使它能夠用於特定型別執行特定的操作。運算子過載的實質是函式過載,它提供了c 的可擴充套...

stl模板庫和運算子過載

最近幾周我們學習了stl和運算子過載,從中受益很多,但還有很 多不懂的地方,不過我確實是學會了很多,從這幾周的學習中下 面是我的一些學習總結 一 運算子過載 1.過載的限制 過載運算子函式可以對運算子做出新的解釋,但原有基本語義 不變 1 不改變運算子的優先順序 2 不改變運算子的結合性 3 不改變...

運算子過載及STL總結

運算子過載 要點 什麼是運算子過載,其意義何在?以成員函式的形式進行過載 通過友元函式實現過載 過載 1.明確目標 為什麼要進行運算子過載?int x,y y x y 表示兩個整數相加,很簡潔。但是,兩個字串合併 char x 20 y 20 strcat x,y 表達起來就不如 y x y 那樣直...