運算符重載

運算符重載,就是對已有的運算符重新進行定義,賦予其另一種功能,以適應不同的數(shù)據(jù)類型。

運算符重載造價信息

市場價 信息價 詢價
材料名稱 規(guī)格/型號 市場價
(除稅)
工程建議價
(除稅)
行情 品牌 單位 稅率 供應商 報價日期
重載 規(guī)格:長×寬×厚(mm):300×500×30;材質:水泥混凝土;顏色:本色 查看價格 查看價格

興宇

m2 13% 崇州市錦江興宇水泥制品廠
重載型小型斷路器 2PC50A 5SP4 250-7 查看價格 查看價格

西門子

13% 西門子(中國)有限公司
重載型小型斷路器 2PC63A 5SP4 260-7 查看價格 查看價格

西門子

13% 西門子(中國)有限公司
重載型小型斷路器 2PC80A 5SP4 280-7 查看價格 查看價格

西門子

13% 西門子(中國)有限公司
重載型小型斷路器 2PC100A 5SP4 291-7 查看價格 查看價格

西門子

13% 西門子(中國)有限公司
重載型小型斷路器 3PC50A 5SP4 350-7 查看價格 查看價格

西門子

13% 西門子(中國)有限公司
重載型小型斷路器 3PC100A 5SP4 391-7 查看價格 查看價格

西門子

13% 西門子(中國)有限公司
重載型小型斷路器 4PC80A 5SP4 480-7 查看價格 查看價格

西門子

13% 西門子(中國)有限公司
材料名稱 規(guī)格/型號 除稅
信息價
含稅
信息價
行情 品牌 單位 稅率 地區(qū)/時間
暫無數(shù)據(jù)
材料名稱 規(guī)格/需求量 報價數(shù) 最新報價
(元)
供應商 報價地區(qū) 最新報價時間
GPU運算服務器 4U機架式設備,具有2+2冗余電源;4張 Tesla P4卡;2顆Intel E5-2680 V4(14核2.4Ghz),128GB DDR4,1個150GB SSD;8個2.5英寸SATA 3.0|1臺 3 查看價格 美電貝爾 廣東  陽江市 2018-09-11
室外重載云臺 MY-5050 承載50kg,重型、可調(diào)蝸輪傳動驅動裝置全鋁合金材質,垂直旋轉范圍:±45°可以調(diào)節(jié),水平旋轉范圍0-356°,限位可調(diào).|3586臺 1 查看價格 天津市環(huán)球銳視科技發(fā)展中心 天津  天津市 2015-09-08
防爆重載云臺 英國Molynx系列、Phoenix系列 FP50-P|4317臺 1 查看價格 南京華諾科技有限公司 江蘇  南京市 2015-08-23
防爆重載云臺 英國Molynx系列、Phoenix系列 FP50|5864臺 1 查看價格 南京華諾科技有限公司 江蘇  南京市 2015-07-07
防爆重載云臺 英國Molynx系列、Phoenix系列 FP50/L|1398臺 1 查看價格 南京華諾科技有限公司 江蘇  南京市 2015-07-03
高性能業(yè)務運算計算機(圖像處理及本地運算要求高) I7CPU 16G內(nèi)存 1T硬盤 2G獨顯,三個HDMI接口獨顯一塊,三屏24寸液晶顯示器,win7操作系統(tǒng)|17臺 1 查看價格 廣州丹誠計算機科技有限公司 全國   2017-12-08
固定型三角 無|15只 3 查看價格 東莞市莞城永固電力器材有限公司 廣東  廣州市 2019-12-17
固定型三角 成品(10m桿)|3085個 1 查看價格 通大電信點力物資商場 廣東  韶關市 2015-11-17

運算符重載常見問題

  • 整式運算題

    1.若﹣2amb4與5an+2b2m+n可以合并成一項,求mn的值____________ 2.已知實數(shù)a,b,c滿足a2+b2=1,b2+c2=2,c2+a2=2,求ab+bc+ca的最小值____...

  • 有效數(shù)字的運算應遵循怎樣的運算規(guī)則

    有效數(shù)字運算規(guī)則 由于與誤差傳遞有關,計算時加減法和乘除法的運算規(guī)則不太相同。1.加減法先按小數(shù)點后位數(shù)最少的數(shù)據(jù)保留其它各數(shù)的位數(shù),再進行加減計算,計算結果也使小數(shù)點后保留相同的位數(shù)。2.乘除法先按...

  • 運算時跳出來的,匯總運算終止什么意思

    選中提示內(nèi)容  把構建刪掉重新畫 

運算符重載文獻

電氣符 電氣符

格式:pdf

大?。?span id="oocmmeo" class="single-tag-height">324KB

頁數(shù): 25頁

評分: 4.6

序號 圖 形 符 號 說 明 1 開關 (機械式 ) 2 多級開關一般符號多 線表示 3 (在非動作位置觸點斷 開) 4 接觸器 (在非動作位置 觸點閉合 ) 5 負荷開關 (負荷 ) 6 具有自動釋放功能的 負荷開關 7 熔斷器式斷路器 8 斷路器 9 隔離開關 10 熔斷器一般符號 11 跌落式熔斷器 12 熔斷器式開關 13 熔斷器式隔離開關 14 熔斷器式負荷開關 15 熔斷器式負荷開關 16 當操作器件被吸合時 延時閉合的動合觸點 17 當操作器件被釋放時 延時閉合的動合觸點 18 當操作器件被釋放時 延時閉合的動斷觸點 19 當操作器件被吸合時 延時閉合的動斷觸點 20 當操作器件被吸合時 延時閉合和釋放時延 時斷開的動合觸點 21 按鈕開關 (不閉鎖 ) 22 旋鈕開關、旋轉開關 (閉鎖 ) 23 位置開關 ,動合觸點 限制開關 ,動合觸點 24 位置開關 ,動斷觸點 限制開

立即下載
暖通圖例符 暖通圖例符

格式:pdf

大?。?span id="c6sioue" class="single-tag-height">324KB

頁數(shù): 12頁

評分: 4.5

通 風 空 調(diào) 設 計 統(tǒng) 一 圖 例 電動對開式多葉調(diào)節(jié)閥: (電訊號比例調(diào)節(jié)風閥) 電動多葉送風(排煙)口:電訊號瞬間開啟或就地手動開啟,電動或手動復位。 定風量調(diào)節(jié)閥: 70℃防火閥: 70°C熔斷關閉,手動復位。 150℃防火閥: 150°C熔斷關閉,手動復位。 280℃防火閥: 280°C熔斷關閉,手動復位。 70℃防火調(diào)節(jié)閥: 70°C熔斷關閉,手動復位;手動調(diào)節(jié)風量。 280℃防火調(diào)節(jié)閥:電訊號瞬間自動開啟 (或關閉 ), 并輸出電信號 ,280℃熔斷關閉 ,電動或手 動復位。 70℃電動防火閥:電訊號瞬間自動關閉 , 并輸出電信號 ;電訊號再次自動開啟 ,70℃熔斷關閉 , 電動或手動復位。 280℃電動防火閥:電訊號瞬間自動關閉 ,并輸出電信號 ;電訊號再次自動開啟 ,280℃熔斷關 閉 ,電動或手動復位。 電動密閉閥: 風管止回閥: 加壓閥:常閉,電訊號自動開啟。 單層

立即下載

1)非參數(shù)化多態(tài)(Ad-hoc polymorphism):

a)函數(shù)重載(Function Overloading)

b)運算符重載(Operator Overloading)

2)參數(shù)化多態(tài)(Parametric polymorphism)

c)模板(Template)

其實非參數(shù)化多態(tài)和參數(shù)化多態(tài)并不沖突,而且相輔相成,它們混合使用能夠帶來更大的靈活性,函數(shù)模板重載就是很好的例子:

template

T max(const T& lhs, const T& rhs)

{

return lhs > rhs "para" label-module="para">

}

template

T max(const T& fst, const T& sec, const T& thd)

{

return max(max(fst, sec), thd);

}

使用:

max(1, 3, 5);

max(2.4, 4.2);

兩個重載函數(shù)必須在下列一個或兩個方面有所區(qū)別:

1、函數(shù)有不同參數(shù)。

2、函數(shù)有不同參數(shù)類型,

C++的這種編程機制給編程者極大的方便,不需要為功能相似、參數(shù)不同的函數(shù)選用不同的函數(shù)名,也增強了程序的可讀性。

C++運算符重載的相關規(guī)定如下:

(1)不能改變運算符的優(yōu)先級;

(2)不能改變運算符的結合型;

(3)默認參數(shù)不能和重載的運算符一起使用;

(4)不能改變運算符的操作數(shù)的個數(shù);

(5)不能創(chuàng)建新的運算符,只有已有運算符可以被重載;

(6)運算符作用于C++內(nèi)部提供的數(shù)據(jù)類型時,原來含義保持不變。

不同編程范例中的表現(xiàn)形式

注:由于C 同時支持下面要提到的三種編程范例(Programming Paradigm) ,所以就用C 語言為例來說明

靜多態(tài)過程化編程

C 中對靜多態(tài)的支持方式有:全局函數(shù)重載和運算符重載。

全局函數(shù)重載代碼:

一下代碼中均不考慮函數(shù)的返回類型,因為C 中不允許只有函數(shù)類型不同的重載。

1)參數(shù)個數(shù)不同而參數(shù)類型相同(對應位置):

void defParamNum(int paramFst);

void defParamNum(int paramFst, double paramSec);

2)參數(shù)個數(shù)相同而參數(shù)類型不同:

void defParamType (int paramFst, double paramSec);

void defParamType (double paramFst, int paramSec);

3)參數(shù)個數(shù)和參數(shù)類型都不相同:

void defBoth(int paramFst);

void defBoth(double paramFst, int paramSec);

運算符重載代碼:

其實運算符重載也是一種函數(shù)重載。其中多了一些限制,比如一元運算符、二元運算符所要求的參數(shù)個數(shù),還有運算符重載的元型(Prototype)都有明確的規(guī)定,再就是一些像C語言等不支持運算符重載,所以這里單獨列出來。

一元運算符重載:(負值運算符 operator -)

Complex operator – (const Complex& elem)

{

// 復數(shù)temp的值為0 0i

Complex temp;

// 將temp的實部設為elem實部負數(shù)

temp.setReal(-elem.getReal());

// 將temp的虛部設為elem虛部的負數(shù)

temp.setImage(-elem.getImage());

// 返回temp復數(shù),此時temp就是elem對應的負數(shù)了

return temp;

}

二元運算符重載:(加法運算符 operator )

Complex operator (const Complex& lhs, const Complex& rhs)

{

// 復數(shù)temp的值為0 0i

Complex temp;

// 將temp的實部設為lhs和rhs實部的和

temp.setReal(lsh.getReal() rhs.getReal());

// 將temp的虛部設為lhs和rhs虛部的和

temp.setImage(lsh.getImage() rhs.getImage());

// 返回temp復數(shù),此時的temp就是lhs和rhs的和

return temp;

}

靜多態(tài)面向對象編程

其實面向對象編程(Object-Oriented Programming)中也表現(xiàn)為函數(shù)重載和運算符重載。

函數(shù)重載:成員函數(shù)重載,靜態(tài)成員函數(shù)(static)重載,虛函數(shù)重載,友元函數(shù)重載。

class Complex {

public:

// 構造函數(shù)重載:

Complex() : m_real(0), m_image(0) { };

Complex(double real, double image) : m_real(real), m_image(image) { };

// 靜態(tài)成員函數(shù)重載:不恰當?shù)睦?

staticvoid staticFunc()

{

std::cout << "staticFunc()" << std::endl;

}

staticvoid staticFunc(int oneParam)

{

std::cout << "staticFunc(int oneParam)" << std::endl;

}

// 虛函數(shù)重載:不恰當?shù)睦?

virtualvoid virtualFunc()

{

std::cout << "virtualFunc()" << std::endl;

}

virtualvoid virtualFunc(int oneParam)

{

std::cout << "virtualFunc(int oneParam)" << std::endl;

}

// 虛函數(shù)重載:不恰當?shù)睦印F溆言瘮?shù)就是一般的全局函數(shù)

friendvoid friendFunc();

friendvoid friendFunc(int oneParam);

// 運算符重載:Comple Comple

// Complex Complex成員版本:允許一個complex對象和另一個Complex對象相加

Complex operator (const Complex& elem)

{

return Complex(m_real elem.m_real, m_image elem.m_image);

}

// Complex double成員版本:允許一個complex對象和另一個double對象相加

// 只能是Complex double,不能是double Complex

Complex operator (double elem)

{

return Complex(m_real elem, m_image);

}

// Complex Complex友元版本:允許一個complex對象和另一個Complex對象相加

friend Complex operator (const Complex& lsh, const Complex& rhs)

{

return Complex(lsh.m_real rhs.m_real, lsh.m_image rhs.m_image);

}

// Complex double友元版本:允許一個complex對象和另一個double對象相加

// 只能是Complex double,不能是double Complex

friend Complex operator (const Complex& lsh, double rhs)

{

return Complex(lsh.m_real rhs, lsh.m_image);

}

// double Complex友元版本:允許一個double對象和另一個Complex對象相加

//只能是double Complex,不能是Complex double

//和上面的Complex double友元版本相輔相成

friend Complex operator (double lhs, const Complex& rhs)

{

return Complex(lhs rhs.m_real, rhs.m_image);

}

private:

double m_real;

double m_image;

};

void friendFunc()

{

std::cout << "virtualFunc()" << std::endl;

}

void friendFunc(int oneParam)

{

std::cout << "virtualFunc(int oneParam)" << std::endl;

}

運算符重載:運算符成員式重載,運算符友元式重載。

注:見Complex類定義中的運算符重載部分!

靜多態(tài)泛型編程

在C 中,泛型編程(Generic Programming) 是通關過模板來實現(xiàn)的,然而模板不是與上述兩種編程范例有所不同,它必須依附于上述的某種范例,在某范例的基礎上來實現(xiàn),就像面向對象和過程化編程的關系一樣。下面就是模板分類:

按泛化對象可分為:

1)類型泛化(Type):

template

class List {

// ...

};

List iList; // iList是能夠存儲int類型的鏈表對象

2)數(shù)值泛化(Value):

template

class Bit {

// ...

};

Bit<3> bit3; // bit3是長度為3位的位對象

3)數(shù)值和類型泛化(Type & Value):

template

class Array {

// ...

};

Array iArray3; // iArray3是能夠存儲3個int類型的數(shù)組對象

按泛化的載體可分為:

函數(shù)模板:

template

void functionGeneric()

{

// ...

}

類模板:

template

class classGeneric {

// ...

};

運算符重載相關推薦
  • 相關百科
  • 相關知識
  • 相關專欄