靜多態(tài)基本信息

中文名 靜多態(tài) 外文名 Static Polymorphism

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

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

b)運(yùn)算符重載(Operator Overloading)

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

c)模板(Template)

其實(shí)非參數(shù)化多態(tài)和參數(shù)化多態(tài)并不沖突,而且相輔相成,它們混合使用能夠帶來(lá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);

靜多態(tài)造價(jià)信息

市場(chǎng)價(jià) 信息價(jià) 詢(xún)價(jià)
材料名稱(chēng) 規(guī)格/型號(hào) 市場(chǎng)價(jià)
(除稅)
工程建議價(jià)
(除稅)
行情 品牌 單位 稅率 供應(yīng)商 報(bào)價(jià)日期
壓箱 Plenum ChamberPlenum Chamber 查看價(jià)格 查看價(jià)格

亞綠太

m3 13% 佛山市亞綠太通風(fēng)設(shè)備有限公司
音止回閥 HC42X-16Q DN200 查看價(jià)格 查看價(jià)格

盾安閥門(mén)

個(gè) 13% 浙江迪艾智控科技股份有限公司
消聲壓箱 2500×1500×800(H) 查看價(jià)格 查看價(jià)格

雄吉通風(fēng)

個(gè) 13% 重慶市雄吉通風(fēng)設(shè)備股份有限公司
消聲壓箱 1900×1500×1700(H) 查看價(jià)格 查看價(jià)格

雄吉通風(fēng)

個(gè) 13% 重慶市雄吉通風(fēng)設(shè)備股份有限公司
消聲壓箱 1600×1300×1600(H) 查看價(jià)格 查看價(jià)格

雄吉通風(fēng)

個(gè) 13% 重慶市雄吉通風(fēng)設(shè)備股份有限公司
音止回閥 HC42X-16Q DN65 查看價(jià)格 查看價(jià)格

盾安閥門(mén)

個(gè) 13% 浙江迪艾智控科技股份有限公司
音止回閥 HC42X-16Q DN80 查看價(jià)格 查看價(jià)格

盾安閥門(mén)

個(gè) 13% 浙江迪艾智控科技股份有限公司
音止回閥 HC42X-16Q DN100 查看價(jià)格 查看價(jià)格

盾安閥門(mén)

個(gè) 13% 浙江迪艾智控科技股份有限公司
材料名稱(chēng) 規(guī)格/型號(hào) 除稅
信息價(jià)
含稅
信息價(jià)
行情 品牌 單位 稅率 地區(qū)/時(shí)間
暫無(wú)數(shù)據(jù)
材料名稱(chēng) 規(guī)格/需求量 報(bào)價(jià)數(shù) 最新報(bào)價(jià)
(元)
供應(yīng)商 報(bào)價(jià)地區(qū) 最新報(bào)價(jià)時(shí)間
基樁承載力檢測(cè)(載) 載|3000t 1 查看價(jià)格 廣州市吉華巖土檢測(cè)有限公司 廣東  陽(yáng)江市 2011-03-25
防火棉夾芯化板天花 防火棉夾芯化板|350m2 1 查看價(jià)格 廣西偉昌鋼管有限公司 廣西  南寧市 2019-05-21
插接件 CZT7-B-3-400A|315個(gè) 1 查看價(jià)格 興機(jī)電器有限公司廣州分公司 全國(guó)   2020-03-23
復(fù)合單管 D50 GB|8807m 1 查看價(jià)格 浙江同正管道技術(shù)有限公司(湖州市廠(chǎng)商期刊) 浙江  紹興市 2016-01-02
復(fù)合單管 D160 GB|5877m 1 查看價(jià)格 浙江同正管道技術(shù)有限公司(湖州市廠(chǎng)商期刊) 浙江  紹興市 2015-11-29
化器支架 槽鋼支架,刷防銹漆|1臺(tái) 1 查看價(jià)格 深圳市三千廚具有限公司 廣東   2020-11-24
化器支架 槽鋼支架,刷防銹漆|3臺(tái) 1 查看價(jià)格 深圳市三千廚具有限公司 廣東   2020-11-24
插接件 CZT7-B-3-630A|290個(gè) 1 查看價(jià)格 興機(jī)電器有限公司廣州分公司 全國(guó)   2020-03-23

優(yōu)缺點(diǎn)比較

靜多態(tài)是以犧牲靈活性而獲得運(yùn)行速度的一種做法;而動(dòng)多態(tài)則恰恰相反,它是以犧牲運(yùn)行速度而獲取靈活性的做法。當(dāng)然這么說(shuō)是不全面的,看看下面這個(gè)特殊的應(yīng)用:

使用靜多態(tài)來(lái)實(shí)現(xiàn)動(dòng)多態(tài)

這是一種在模板元編程(Template Metaprogramming)中常見(jiàn)的標(biāo)準(zhǔn)編程技巧。在C 中,可以借助模板來(lái)實(shí)現(xiàn)面向?qū)ο笳Z(yǔ)言所支持動(dòng)多態(tài)相似的功能特性(C 中指的就是的virtual 函數(shù))。

下面是C 本身所支持多態(tài)形式:(virtual版)

#include

class Base {

public:

virtual void method() = 0;

virtual ~Base() { }

};

class Derived : public Base {

public:

virtual void method()

{

std::cout << "Derived" << std::endl;

}

};

class Derived2 : public Base {

public:

virtual void method()

{

std::cout << "Derived2" << std::endl;

}

};

int main()

{ Base *pBase = new Derived;

pBase->method(); // 輸出:"Derived"

delete pBase;

Base *pBase2 = new Derived2;

pBase2->method(); // 輸出:"Derived2"

delete pBase2;

return 0;

}

注:C 本身是借助virtual關(guān)鍵字來(lái)實(shí)現(xiàn)多態(tài)的(dynamic polymorphism),而通常編譯器是借助virtual look-up tables(虛函數(shù)表)來(lái)決定該調(diào)用那個(gè)版本的函數(shù),當(dāng)然這一過(guò)程發(fā)生在運(yùn)行期。

下面是使用CRTP(Curiously Recurring Template Pattern)來(lái)實(shí)現(xiàn)多與上面對(duì)應(yīng)功能的靜多態(tài)代碼:

#include

template

class Base {

public:

void method()

{

// ...

static_cast(this)->implementation();

// ...

}

};

class Derived : private Base {

public:

void implementation()

{

std::cout << "Derived" << std::endl;

}

};

class Derived2 : private Base {

public:

void implementation()

{

std::cout << "Derived2" << std::endl;

}

};

int main()

{

Base *pBase = new Base();

pBase->method(); // 輸出:"Derived"

delete pBase;

Base *pBase2 = new Base();

pBase2->method(); // 輸出:"Derived2"

delete pBase2;

return 0;

}

雖然使用這種方式實(shí)現(xiàn)的多態(tài)和面向?qū)ο笾械亩鄳B(tài)從功能上說(shuō)差不多相同,但是前者沒(méi)有后者易用、易懂、和能力強(qiáng)大。雖然如此,CRTP作為一種模板設(shè)計(jì)模式還是很有用的,例如,Boost iterator library就是用了這種方法來(lái)實(shí)現(xiàn)。

其實(shí)在別的語(yǔ)言中也存在CRTP這種模式,如Java,Enum類(lèi)被定義為Enum>,當(dāng)然由于Java在模板方面的不足,作為Java語(yǔ)言的使用者,你是沒(méi)法自己體驗(yàn)這樣的用法(Java雖然支持模板特性,但是用戶(hù)不能自己定義模板,只能使用庫(kù)里邊的模板類(lèi))。2100433B

其中靜多態(tài)就是綁定發(fā)生在編譯期(compile-time),此種綁定稱(chēng)為靜態(tài)綁定static-binding);而動(dòng)多態(tài)就是綁定發(fā)生在運(yùn)行期(run-time),此種綁定稱(chēng)為動(dòng)態(tài)綁定(dynamic-binding)。

靜多態(tài)常見(jiàn)問(wèn)題

  • 逸靜隔音窗好嗎?

    還可以的

  • 靜源居房?jī)r(jià)是多少

    您好,小區(qū)現(xiàn)在房?jī)r(jià)在6080,小區(qū)周?chē)O(shè)施不錯(cuò)。

  • 格力靜之涼報(bào)價(jià)是多少?

    你好,經(jīng)過(guò)我對(duì)業(yè)內(nèi)人士的咨詢(xún):3400提貨價(jià)不管裝,裝好3600,賣(mài)場(chǎng)最低35的要3900了,32的便宜100元,你可以找一般的家電維修店讓他們聯(lián)系,保修什么的都一樣,一臺(tái)最少便宜200左右,看機(jī)器只...

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

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

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

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

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

一下代碼中均不考慮函數(shù)的返回類(lèi)型,因?yàn)镃 中不允許只有函數(shù)類(lèi)型不同的重載。

1)參數(shù)個(gè)數(shù)不同而參數(shù)類(lèi)型相同(對(duì)應(yīng)位置):

void defParamNum(int paramFst);

void defParamNum(int paramFst, double paramSec);

2)參數(shù)個(gè)數(shù)相同而參數(shù)類(lèi)型不同:

void defParamType (int paramFst, double paramSec);

void defParamType (double paramFst, int paramSec);

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

void defBoth(int paramFst);

void defBoth(double paramFst, int paramSec);

運(yùn)算符重載代碼:

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

一元運(yùn)算符重載:(負(fù)值運(yùn)算符 operator -)

Complex operator – (const Complex& elem)

{

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

Complex temp;

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

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

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

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

// 返回temp復(fù)數(shù),此時(shí)temp就是elem對(duì)應(yīng)的負(fù)數(shù)了

return temp;

}

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

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

{

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

Complex temp;

// 將temp的實(shí)部設(shè)為lhs和rhs實(shí)部的和

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

// 將temp的虛部設(shè)為lhs和rhs虛部的和

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

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

return temp;

}

靜多態(tài)面向?qū)ο缶幊?/h3>

其實(shí)面向?qū)ο缶幊蹋∣bject-Oriented Programming)中也表現(xiàn)為函數(shù)重載和運(yùn)算符重載。

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

class Complex {

public:

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

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

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

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

staticvoid staticFunc()

{

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

}

staticvoid staticFunc(int oneParam)

{

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

}

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

virtualvoid virtualFunc()

{

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

}

virtualvoid virtualFunc(int oneParam)

{

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

}

// 虛函數(shù)重載:不恰當(dāng)?shù)睦?。其友元函?shù)就是一般的全局函數(shù)

friendvoid friendFunc();

friendvoid friendFunc(int oneParam);

// 運(yùn)算符重載:Comple Comple

// Complex Complex成員版本:允許一個(gè)complex對(duì)象和另一個(gè)Complex對(duì)象相加

Complex operator (const Complex& elem)

{

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

}

// Complex double成員版本:允許一個(gè)complex對(duì)象和另一個(gè)double對(duì)象相加

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

Complex operator (double elem)

{

return Complex(m_real elem, m_image);

}

// Complex Complex友元版本:允許一個(gè)complex對(duì)象和另一個(gè)Complex對(duì)象相加

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友元版本:允許一個(gè)complex對(duì)象和另一個(gè)double對(duì)象相加

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

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

{

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

}

// double Complex友元版本:允許一個(gè)double對(duì)象和另一個(gè)Complex對(duì)象相加

//只能是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;

}

運(yùn)算符重載:運(yùn)算符成員式重載,運(yùn)算符友元式重載。

注:見(jiàn)Complex類(lèi)定義中的運(yùn)算符重載部分!

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

在C 中,泛型編程(Generic Programming) 是通關(guān)過(guò)模板來(lái)實(shí)現(xiàn)的,然而模板不是與上述兩種編程范例有所不同,它必須依附于上述的某種范例,在某范例的基礎(chǔ)上來(lái)實(shí)現(xiàn),就像面向?qū)ο蠛瓦^(guò)程化編程的關(guān)系一樣。下面就是模板分類(lèi):

按泛化對(duì)象可分為:

1)類(lèi)型泛化(Type):

template

class List {

// ...

};

List iList; // iList是能夠存儲(chǔ)int類(lèi)型的鏈表對(duì)象

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

template

class Bit {

// ...

};

Bit<3> bit3; // bit3是長(zhǎng)度為3位的位對(duì)象

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

template

class Array {

// ...

};

Array iArray3; // iArray3是能夠存儲(chǔ)3個(gè)int類(lèi)型的數(shù)組對(duì)象

按泛化的載體可分為:

函數(shù)模板:

template

void functionGeneric()

{

// ...

}

類(lèi)模板:

template

class classGeneric {

// ...

};

靜多態(tài)文獻(xiàn)

多態(tài)并行處理器中的線(xiàn)程管理器設(shè)計(jì) 多態(tài)并行處理器中的線(xiàn)程管理器設(shè)計(jì)

格式:pdf

大?。?span id="gs6sosw" class="single-tag-height">466KB

頁(yè)數(shù): 未知

評(píng)分: 4.8

基于多態(tài)并行處理器提出了一種硬件線(xiàn)程管理器,支持MIMD模式8個(gè)線(xiàn)程管理操作和SIMD模式SC控制器統(tǒng)一管理兩種工作模式,實(shí)現(xiàn)了線(xiàn)程級(jí)并行計(jì)算;可以監(jiān)測(cè)各個(gè)線(xiàn)程的工作情況以及近鄰?fù)ㄐ偶拇嫫骱吐酚善鞯臓顟B(tài);能夠在通信時(shí)停止、切換、啟動(dòng)線(xiàn)程,記錄每個(gè)線(xiàn)程的工作狀態(tài),同時(shí)避免了因數(shù)據(jù)阻塞帶來(lái)的等待問(wèn)題,能夠最大程度地提高單個(gè)處理器的執(zhí)行效率。

立即下載
多態(tài)并行處理器中的SIMD控制器設(shè)計(jì)與實(shí)現(xiàn) 多態(tài)并行處理器中的SIMD控制器設(shè)計(jì)與實(shí)現(xiàn)

格式:pdf

大?。?span id="6cuqeyw" class="single-tag-height">466KB

頁(yè)數(shù): 未知

評(píng)分: 4.6

設(shè)計(jì)和實(shí)現(xiàn)了一種多態(tài)并行處理器中的SIMD控制器。為滿(mǎn)足圖像并行處理的需要,以實(shí)現(xiàn)高效的數(shù)據(jù)級(jí)并行計(jì)算為目標(biāo),采用狀態(tài)機(jī)實(shí)現(xiàn)了行、列、簇控制器的設(shè)計(jì),完成了SIMD指令的發(fā)送、數(shù)據(jù)的加載和遠(yuǎn)程數(shù)據(jù)的傳輸。在陣列機(jī)上分區(qū)并發(fā)實(shí)現(xiàn)了SIMD和MIMD兩種計(jì)算模式,能夠?qū)崿F(xiàn)兩種計(jì)算模式的切換。專(zhuān)用的硬件電路設(shè)計(jì)提高了該處理器處理并行數(shù)據(jù)的能力。

立即下載

設(shè)備大分類(lèi)分為動(dòng)設(shè)備,靜設(shè)備。

動(dòng)設(shè)備是指有驅(qū)動(dòng)機(jī)帶動(dòng)的轉(zhuǎn)動(dòng)設(shè)備,如泵、壓縮機(jī)、風(fēng)機(jī)、電機(jī)以及成型機(jī)、包裝機(jī)、攪拌機(jī)等等;靜設(shè)備主要是指爐類(lèi)、塔類(lèi)、反應(yīng)設(shè)備類(lèi)、儲(chǔ)罐類(lèi)、換熱設(shè)備類(lèi)等。其中,比較特殊的有空冷器等,空冷風(fēng)機(jī)需要按動(dòng)設(shè)備管理,空冷管束按靜設(shè)備管理。

在國(guó)際分類(lèi)中,靜設(shè)備一般指非旋轉(zhuǎn)設(shè)備,而動(dòng)設(shè)備指旋轉(zhuǎn)設(shè)備。

靜設(shè)備圖片2100433B

靜強(qiáng)度分析包括下面幾個(gè)方面的工作。

校核結(jié)構(gòu)的承載能力是否滿(mǎn)足強(qiáng)度設(shè)計(jì)的要求,若強(qiáng)度過(guò)剩較多,可以減小結(jié)構(gòu)承力件尺寸。對(duì)于帶裂紋的結(jié)構(gòu),由于裂紋尖端存在奇異的應(yīng)力分布,常規(guī)的靜強(qiáng)度分析方法已不再適用,已屬于疲勞與斷裂問(wèn)題。

校核結(jié)構(gòu)抵抗變形的能力是否滿(mǎn)足強(qiáng)度設(shè)計(jì)的要求,同時(shí)為動(dòng)力分析等提供結(jié)構(gòu)剛度特性數(shù)據(jù),這種校核通常在使用載荷下或更小的載荷下進(jìn)行。

計(jì)算和校核桿件、板件、薄壁結(jié)構(gòu)、殼體等在載荷作用下是否會(huì)喪失穩(wěn)定。有空氣動(dòng)力、彈性力耦合作用的結(jié)構(gòu)穩(wěn)定性問(wèn)題時(shí),則用氣動(dòng)彈性力學(xué)方法研究。

計(jì)算和分析結(jié)構(gòu)在靜載荷作用下的應(yīng)力、變形分布規(guī)律和屈曲模態(tài),為其他方面的結(jié)構(gòu)分析提供資料。

靜強(qiáng)度分析的內(nèi)容也可通過(guò)靜力試驗(yàn)測(cè)定或驗(yàn)證。

在鐵磁共振實(shí)驗(yàn)的附加峰(副峰)中,1956年,R.L.懷特和I.H.索爾特首次觀(guān)察了亞鐵磁體中的靜磁模。1961年,R.W.達(dá)蒙等研究了平面結(jié)構(gòu)中的靜磁模。1965年,F.A.奧爾森在YIG(釔鐵石榴石)單晶上觀(guān)察到表面自旋波的傳播。70年代開(kāi)始研究在 GGG(釔鎵石榴石)上外延YIG單晶薄膜中傳播靜磁波。

靜多態(tài)相關(guān)推薦
  • 相關(guān)百科
  • 相關(guān)知識(shí)
  • 相關(guān)專(zhuān)欄

最新詞條

安徽省政采項(xiàng)目管理咨詢(xún)有限公司 數(shù)字景楓科技發(fā)展(南京)有限公司 懷化市人民政府電子政務(wù)管理辦公室 河北省高速公路京德臨時(shí)籌建處 中石化華東石油工程有限公司工程技術(shù)分公司 手持無(wú)線(xiàn)POS機(jī) 廣東合正采購(gòu)招標(biāo)有限公司 上海城建信息科技有限公司 甘肅鑫禾國(guó)際招標(biāo)有限公司 燒結(jié)金屬材料 齒輪計(jì)量泵 廣州采陽(yáng)招標(biāo)代理有限公司河源分公司 高鋁碳化硅磚 博洛尼智能科技(青島)有限公司 燒結(jié)剛玉磚 深圳市東海國(guó)際招標(biāo)有限公司 搭建香蕉育苗大棚 SF計(jì)量單位 福建省中億通招標(biāo)咨詢(xún)有限公司 泛海三江 威海鼠尾草 廣東國(guó)咨招標(biāo)有限公司 Excel 數(shù)據(jù)處理與分析應(yīng)用大全 甘肅中泰博瑞工程項(xiàng)目管理咨詢(xún)有限公司 拆邊機(jī) 山東創(chuàng)盈項(xiàng)目管理有限公司 當(dāng)代建筑大師 廣西北纜電纜有限公司 大山檳榔 上海地鐵維護(hù)保障有限公司通號(hào)分公司 舌花雛菊 甘肅中維國(guó)際招標(biāo)有限公司 華潤(rùn)燃?xì)猓ㄉ虾#┯邢薰? 湖北鑫宇陽(yáng)光工程咨詢(xún)有限公司 GB8163標(biāo)準(zhǔn)無(wú)縫鋼管 中國(guó)石油煉化工程建設(shè)項(xiàng)目部 韶關(guān)市優(yōu)采招標(biāo)代理有限公司 莎草目 電梯平層準(zhǔn)確度 建設(shè)部關(guān)于開(kāi)展城市規(guī)劃動(dòng)態(tài)監(jiān)測(cè)工作的通知 廣州利好來(lái)電氣有限公司 蘇州弘創(chuàng)招投標(biāo)代理有限公司