版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)程序設(shè)計(jì)第12章多態(tài)性西安交通大學(xué)計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第1頁(yè)。2多態(tài)性概述派生類(lèi)對(duì)象替換基類(lèi)對(duì)象虛函數(shù)抽象類(lèi)運(yùn)算符重載本章內(nèi)容
計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第2頁(yè)。3一.多態(tài)性概述在面向?qū)ο笙到y(tǒng)中,多態(tài)性是指不同對(duì)象接收到相同的消息時(shí)會(huì)產(chǎn)生不同的行為。在C++程序中,“同名函數(shù)”即為多態(tài)性的表現(xiàn)形式。C++語(yǔ)言處理“多態(tài)性”的方法包括:
靜態(tài)聯(lián)編(綁定)技術(shù)動(dòng)態(tài)聯(lián)編(綁定)技術(shù)
聯(lián)編(綁定)
-即函數(shù)調(diào)用與實(shí)現(xiàn)函數(shù)功能代碼的關(guān)聯(lián)。計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第3頁(yè)。4多態(tài)性的兩種處理技術(shù)靜態(tài)聯(lián)編技術(shù)-編譯時(shí)多態(tài)性
在編譯時(shí)確定調(diào)用哪一個(gè)同名函數(shù)。通過(guò)函數(shù)重載和運(yùn)算符重載實(shí)現(xiàn)。動(dòng)態(tài)聯(lián)編技術(shù)-運(yùn)行時(shí)多態(tài)性
在運(yùn)行時(shí)確定調(diào)用哪一個(gè)同名函數(shù)。通過(guò)繼承和虛函數(shù)實(shí)現(xiàn)。計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第4頁(yè)。5多態(tài)性現(xiàn)象1
–
函數(shù)重載例:“兔子-逃生”,偽代碼描述如下:classrabbit{public:voidflee(EAGLEa){cout<<“兔子蹬鷹”;}voidflee(WOLFa){cout<<“動(dòng)如脫兔”;}};
intmain(){rabbitx;EAGLEa;WOLFb;
x.flee(a);x.flee(b);}計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第5頁(yè)。6多態(tài)性現(xiàn)象2:派生類(lèi)中覆蓋基類(lèi)的成員函數(shù)//寵物的叫聲#include<iostream>usingnamespacestd;classPET{public:voidspeak(){cout<<"zzz"<<endl;};};classCAT:publicPET{public:voidspeak(){cout<<"miao!miao!"<<endl;}};classDOG:publicPET{public:voidspeak(){cout<<"wang!wang!"<<endl;}};計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第6頁(yè)。7voidmain(){ PET*p;//p為寵物類(lèi)指針
CAT cat1; //定義貓類(lèi)對(duì)象
DOG dog1; //定義狗類(lèi)對(duì)象
cat1.speak();//??? dog1.speak();//??? //根據(jù)用戶輸入將貓或狗對(duì)象地址賦給p指針,
//例如用戶輸入1,則執(zhí)行p=&cat1; //用戶輸入2,則執(zhí)行p=&dog1;
p=&cat1; p->speak();??
p=&dog1; p->speak(); ??}計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第7頁(yè)。8重載:成員函數(shù)的參數(shù)有區(qū)別,即個(gè)數(shù)或類(lèi)型不同。覆蓋:成員函數(shù)參數(shù)完全相同,這時(shí)派生類(lèi)將覆蓋基類(lèi)的同名成員函數(shù)。那么:派生類(lèi)對(duì)象.成員函數(shù)()
-一定訪問(wèn)派生類(lèi)中覆蓋后的同名函數(shù)。派生類(lèi)對(duì)象.基類(lèi)名::成員函數(shù)()
-可以訪問(wèn)基類(lèi)中的同名函數(shù)。派生類(lèi)對(duì)基類(lèi)成員函數(shù)的重載與覆蓋計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第8頁(yè)。9派生類(lèi)對(duì)象替換基類(lèi)對(duì)象的原則
C++規(guī)定,凡是基類(lèi)對(duì)象出現(xiàn)的場(chǎng)合都可以用其公有派生類(lèi)對(duì)象進(jìn)行替換,這時(shí)派生類(lèi)對(duì)象起到基類(lèi)對(duì)象的作用。派生類(lèi)對(duì)象替換基類(lèi)對(duì)象常見(jiàn)的形式派生類(lèi)對(duì)象給基類(lèi)對(duì)象賦值pet1=cat1;派生類(lèi)對(duì)象可以初始化基類(lèi)對(duì)象的引用PETpet2(cat1);派生類(lèi)對(duì)象的地址傳遞給基類(lèi)的指針變量p=&dog1;不論哪一種形式,派生類(lèi)對(duì)象替代基類(lèi)對(duì)象后,只能當(dāng)做基類(lèi)對(duì)象來(lái)使用。不論派生類(lèi)是否存在同名覆蓋成員,這樣的基類(lèi)對(duì)象所訪問(wèn)的成員都只能來(lái)自基類(lèi).二.派生類(lèi)對(duì)象替換基類(lèi)對(duì)象計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第9頁(yè)。10三.虛函數(shù)在程序運(yùn)行時(shí),如何通過(guò)基類(lèi)指針訪問(wèn)當(dāng)前指向的派生類(lèi)對(duì)象中覆蓋的成員函數(shù)?請(qǐng)使用C++中的“虛函數(shù)”技術(shù)。只需將基類(lèi)中的同名成員函數(shù)定義為虛函數(shù)-加上virtual。例如將寵物類(lèi)Pet中Speak()標(biāo)記為虛函數(shù):
classPet //基類(lèi){public:
virtualvoidSpeak(){cout<<"Howdoesapetspeak?"<<endl;}};計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第10頁(yè)。11虛函數(shù)的定義格式virtual
返回值類(lèi)型
函數(shù)名(參數(shù)表){
函數(shù)體}虛函數(shù)的作用與用途:虛函數(shù)實(shí)現(xiàn)“一個(gè)接口,多種方法”的理念,即基類(lèi)內(nèi)部的虛函數(shù)定義該函數(shù)的接口形式,而在派生類(lèi)中對(duì)虛函數(shù)重新定義,創(chuàng)建一個(gè)具體的方法。使用虛函數(shù)技術(shù),可實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性,即通過(guò)基類(lèi)指針指向公有派生類(lèi)對(duì)象,可以訪問(wèn)派生類(lèi)中同名覆蓋的成員函數(shù)。計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第11頁(yè)。12虛函數(shù)的使用限制
虛函數(shù)重定義時(shí),必須保證函數(shù)名、返回值類(lèi)型、參數(shù)個(gè)數(shù)、參數(shù)類(lèi)型等應(yīng)于基類(lèi)函數(shù)一致。?通過(guò)指針或引用調(diào)用虛函數(shù),才能保證運(yùn)行時(shí)多態(tài)性的成立。PET*p=cat1;PET&a=dog1;派生類(lèi)中重定義的基類(lèi)虛函數(shù)仍為虛函數(shù),同時(shí)可以省略virtual關(guān)鍵字。不能定義虛構(gòu)造函數(shù),可以定義虛析構(gòu)函數(shù)計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第12頁(yè)。13四.抽象類(lèi)
抽象類(lèi):
至少包含一個(gè)純虛函數(shù)的類(lèi)。純虛函數(shù)的聲明格式:virtual
返回類(lèi)型函數(shù)名(參數(shù)表)=0;注意:
純虛函數(shù)在基類(lèi)中只作聲明,具體實(shí)現(xiàn)過(guò)程在派生類(lèi)中完成。計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第13頁(yè)。14抽象類(lèi)使用的幾點(diǎn)要求:
抽象類(lèi)不能實(shí)例化,即不能創(chuàng)建抽象類(lèi)的對(duì)象抽象類(lèi)只作為基類(lèi)被繼承能夠定義指向抽象類(lèi)的指針或引用計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第14頁(yè)。15例12-3抽象寵物類(lèi)的實(shí)現(xiàn)classPet //基類(lèi){ char Name[20]; int Age; char Color[12];public: char Type[10]; Pet(char*,int,char*); char*GetName() {returnName;} int GetAge() {returnAge;} char*GetColor() {returnColor;}
virtualvoidSpeak()=0;
virtualvoidGetInfo(){}};計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第15頁(yè)。16Pet::Pet(char*name,intage,char*color)//基類(lèi)構(gòu)造函數(shù){ strcpy(Name,name); Age=age; strcpy(Color,color); strcpy(Type,"pet");}classCat:publicPet //派生類(lèi)1 {public: Cat(char*name,intage,char*color):Pet(name,age,color){} voidSpeak(){cout<<"Soundofspeak:miao!miao!"<<endl<<endl;} voidGetInfo();};voidCat::GetInfo(){ cout<<"Thecat'sname:"<<GetName()<<endl; cout<<"Thecat'sage:"<<GetAge()<<endl; cout<<"Thecat'scolor:"<<GetColor()<<endl;}計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第16頁(yè)。17另一個(gè)派生類(lèi)DOGclassDog:publicPet //派生類(lèi){public: Dog(char*name,intage,char*color):Pet(name,age,color){} voidSpeak(){cout<<"Soundofspeak:wang!wang!"<<endl<<endl;} voidGetInfo();};voidDog::GetInfo(){ cout<<"Thedog'sname:"<<GetName()<<endl; cout<<"Thedog'sage:"<<GetAge()<<endl; cout<<"Thedog'scolor:"<<GetColor()<<endl;}計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第17頁(yè)。18主函數(shù)intmain(){ Pet *p1; //基類(lèi)對(duì)象指針p1 p1=newCat("MiKey",1,"Blue");//動(dòng)態(tài)生成Cat類(lèi)對(duì)象
p1->GetInfo(); p1->Speak(); deletep1;//??? p1=newDog("BenBen",2,"Black");//動(dòng)態(tài)生成Dog類(lèi)對(duì)象
p1->GetInfo(); p1->Speak(); deletep1; return0;}計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第18頁(yè)。19例12-6抽象形狀類(lèi)的實(shí)現(xiàn)從Point、Circle類(lèi)中抽象出基類(lèi)Shape。
classShape{
public:
//純虛函數(shù),在派生類(lèi)中重載
virtualdoubleArea()=0;//幾何圖形面積
virtualvoidPrintShapeName()const=0;
//輸出名稱(chēng)virtualvoidPrint()const=0;
};抽象類(lèi)計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第19頁(yè)。20classPoint:publicShape{
intx,y;//點(diǎn)的x和y坐標(biāo)
public:
Point(int=0,int=0);
//構(gòu)造函數(shù)
voidSetPoint(int,int);//設(shè)置坐標(biāo)intGetX(){returnx;}//取x坐標(biāo)intGetY(){returny;}//取y坐標(biāo) };
Point類(lèi)virtualdoubleArea(){return0.0;}
virtualvoidPrintShapeName()const{cout<<"Point:";}
virtualvoidPrint()const; //輸出點(diǎn)的坐標(biāo)虛函數(shù)的實(shí)現(xiàn)計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第20頁(yè)。21Point::Point(inta,intb){SetPoint(a,b);}voidPoint::SetPoint(inta,intb){x=a;y=b;}voidPoint::Print()const{cout<<'['<<x<<","<<y<<']';}
Point類(lèi)成員函數(shù)定義計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第21頁(yè)。22classCircle:publicPoint{
doubleradius;public: Circle(intx=0,inty=0,doubler=0.0);voidSetRadius(double);
};Circle類(lèi)virtualdoubleArea();//計(jì)算面積
virtualvoidPrint()const; //輸出圓心坐標(biāo)和半徑
virtualvoidPrintShapeName()const{cout<<"Circle:";}虛函數(shù)的實(shí)現(xiàn)計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第22頁(yè)。23Circle::Circle(inta,intb,doubler):Point(a,b){SetRadius(r);}voidCircle::SetRadius(doubler){radius=r;}
doubleCircle::Area(){return3.14159*radius*radius;}voidCircle::Print()const{ cout<<"Center="; Point::Print(); cout<<";Radius="<<radius<<endl;}
類(lèi)外定義的虛函數(shù)類(lèi)外定義的虛函數(shù)計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第23頁(yè)。24intmain(){ Pointpoint(30,50); Circlecircle(120,80,10.0);
point.PrintShapeName(); point.Print(); cout<<endl; circle.PrintShapeName(); circle.Print();
Shape*arrayOfShapes[2];//指向抽象類(lèi)的指針
arrayOfShapes[0]=&point; arrayOfShapes[1]=&circle;
arrayOfShapes[0]->PrintShapeName();arrayOfShapes[1]->PrintShapeName();return0;}測(cè)試函數(shù)計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第24頁(yè)。25五.運(yùn)算符重載
重載運(yùn)算符主要用于類(lèi)對(duì)象的操作。
例如:定義復(fù)數(shù)類(lèi)
復(fù)數(shù)類(lèi)對(duì)象的加法,c=a+b;
???運(yùn)算符重載函數(shù)的定義格式:<類(lèi)型><類(lèi)名>::operator<運(yùn)算符>(<參數(shù)表>){…}計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第25頁(yè)。26Complex類(lèi)計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第26頁(yè)。27例12-4復(fù)數(shù)加法運(yùn)算intmain(){ Complexc1(3,4),c2(5,6),c3;……
c3=c1+c2;
cout<<"C3="<<c3.Real()<<"+i"<<c3.Imag()<<endl;
c3=c3+6.5;
cout<<"C3+6.5="<<c3.Real()<<"+i"<<c3.Imag()<<endl;return0;}計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第27頁(yè)。28計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第28頁(yè)。29例12-5classPet //基類(lèi){public: virtualvoidSpeak()=0;//??? voidShowMe();};voidPet::ShowMe(){ cout<<"我的聲音:"; Speak();}classCat:publicPet//派生類(lèi) {public: virtualvoidSpeak() {cout<<"miao!miao!"<<endl;}};計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第29頁(yè)。30本章實(shí)驗(yàn)和作業(yè)習(xí)題1虛函數(shù)的聲明和使用(BASE)120021習(xí)題2抽象類(lèi)shape的應(yīng)用120024補(bǔ)充重載加法(+)運(yùn)算實(shí)現(xiàn)矩陣對(duì)象的加法120025本章要點(diǎn):重載、虛函數(shù)、純虛函數(shù)(抽象類(lèi))、運(yùn)算符的重載、基類(lèi)指針訪問(wèn)派生類(lèi)對(duì)象。計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第30頁(yè)。31第12章實(shí)驗(yàn)與作業(yè)(P289)實(shí)驗(yàn):實(shí)驗(yàn)1(P289)實(shí)驗(yàn)2(補(bǔ)充題):參照例12-4重載對(duì)復(fù)數(shù)進(jìn)行加法、減法、乘法的運(yùn)算,并在類(lèi)中增加輸出復(fù)數(shù)的成員函數(shù)PrintComplex()。作業(yè):第2題(P289)要求:正方形從Reacangle類(lèi)派生
計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第31頁(yè)。329.7接口與實(shí)現(xiàn)方法的分離類(lèi)的聲明在.h中類(lèi)的成員函數(shù)的定義在.cpp中,與.h同名,包含.h例類(lèi)Point聲明:.h#ifndefPOINT_H#definePOINT_H…#endif定義:.cpp#include“Point.h”…使用(main函數(shù))#include“Point.h”…計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第32頁(yè)。33Circle.h#ifndefCIRCLE_H#defineCIRCLE_H//#include<iostream>//usingnamespacestd;classCircle{intx,y;intradius;public: voidset(int,int,int); doublearea(); doubleperimeter();};#endif計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第33頁(yè)。34Circle.cpp#include<iostream>#include"Circle.h"usingnamespacestd;voidCircle::set(intx,inty,intr){this->x=x;this->y=y;radius=r;}doubleCircle::area(){return3.14159*radius*radius;}doubleCircle::perimeter(){return2*3.1415926*radius;}計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第34頁(yè)。35main.cpp#include<iostream>#include"Circle.h"usingnamespacestd;intmain(){ Circlec1; c1.set(1,1,1); cout<<c1.area(); cout<<endl; cout<<c1.perimeter(); cout<<endl; return0;}計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第35頁(yè)。36程序設(shè)計(jì)舉例:點(diǎn)類(lèi)和圓類(lèi)
在二維平面空間上,使用x,y坐標(biāo)可以確定一個(gè)點(diǎn);確定了圓心坐標(biāo)和半徑后可以確定一個(gè)圓。聲明一個(gè)點(diǎn)類(lèi),并使用這個(gè)點(diǎn)類(lèi)的對(duì)象為數(shù)據(jù)成員聲明圓類(lèi)。注:該例使用了類(lèi)的組合、接口與實(shí)現(xiàn)方法的分離概念。通常,將類(lèi)的聲明放在一個(gè)頭文件中,形成類(lèi)的public接口;類(lèi)成員函數(shù)的定義放在另一個(gè)源文件中,形成類(lèi)的實(shí)現(xiàn)方法。計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第36頁(yè)。37問(wèn)題分析點(diǎn)、圓,設(shè)置圓心、半徑,取圓心、半徑計(jì)算面積顯示圓心、半徑e計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第37頁(yè)。38//Point.h文件存放Point類(lèi)的聲明#ifndefPOINT_H#definePOINT_HclassPoint//聲明Point類(lèi){ intx,y; //點(diǎn)的x和y坐標(biāo)public: voidSetPoint(int,int); //設(shè)置坐標(biāo)
intGetX(){returnx;} //取x坐標(biāo)
intGetY(){returny;} //取y坐標(biāo)
voidPrint(); //輸出點(diǎn)的坐標(biāo)};#endif計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第38頁(yè)。39//Point.cpp文件Point類(lèi)的成員函數(shù)定義#include<iostream>usingnamespacestd;#include"point.h"voidPoint::SetPoint(inta,intb)//Point類(lèi)成員函數(shù)的實(shí)現(xiàn){ x=a;
y=b;}voidPoint::Print(){ cout<<'['<<x<<","<<y<<']';}計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第39頁(yè)。40//Circle.h文件Circle類(lèi)的聲明#ifndef
CIRCLE_H#defineCIRCLE_H#include"point.h"classCircle//聲明Circle類(lèi){private: PointCenter;//對(duì)象成員doubleRadius;計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第40頁(yè)。41public: voidSetRadius(double); //設(shè)置半徑
voidSetCenter(Point); //設(shè)置圓心坐標(biāo)
doubleGetRadius(); //取半徑
PointGetCenter(); //取圓心
doubleArea(); //計(jì)算面積
voidPrint(); //輸出圓心坐標(biāo)和半徑};#endif計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第41頁(yè)。42//Circle.cpp文件Circle類(lèi)的成員函數(shù)定義#include<iostream>usingnamespacestd;#include"circle.h"voidCircle::SetRadius(doubler)//Circle類(lèi)成員函數(shù)的實(shí)現(xiàn){ Radius=(r>=0?r:0);}voidCircle::SetCenter(Pointp){ Center=p;}PointCircle::GetCenter(){ returnCenter;}計(jì)算機(jī)程序設(shè)計(jì)-1多態(tài)性(趙老師)全文共52頁(yè),當(dāng)前為第42頁(yè)。43doubleCircle::GetRadius(){ returnRadius;}doubleCircle::Area(){ return3.14159*Radius*Radi
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度超聲刀美容設(shè)備生產(chǎn)許可證續(xù)展與維護(hù)合同4篇
- 二零二五年度農(nóng)業(yè)技術(shù)推廣與應(yīng)用合同4篇
- 二零二四年度業(yè)主開(kāi)發(fā)商道路施工噪音控制合同3篇
- 二零二五年度網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評(píng)估與維護(hù)服務(wù)合同3篇
- 2025年度打架賠償理賠時(shí)效服務(wù)合同4篇
- 2025年度個(gè)人汽車(chē)轉(zhuǎn)讓合同范本4篇
- 2025版旅游景區(qū)停車(chē)場(chǎng)特許經(jīng)營(yíng)承包合同樣本3篇
- 二零二五年度車(chē)輛融資租賃與還款計(jì)劃協(xié)議3篇
- 二零二五年度煤炭企業(yè)能源審計(jì)與節(jié)能改造合同
- 2025至2030年中國(guó)不銹鋼拉絲板生產(chǎn)線數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- GB/T 45120-2024道路車(chē)輛48 V供電電壓電氣要求及試驗(yàn)
- 2025年中核財(cái)務(wù)有限責(zé)任公司招聘筆試參考題庫(kù)含答案解析
- 春節(jié)文化常識(shí)單選題100道及答案
- 華中師大一附中2024-2025學(xué)年度上學(xué)期高三年級(jí)第二次考試數(shù)學(xué)試題(含解析)
- 12123交管學(xué)法減分考試題及答案
- 2025年寒假實(shí)踐特色作業(yè)設(shè)計(jì)模板
- 《數(shù)據(jù)采集技術(shù)》課件-XPath 解析庫(kù)
- 財(cái)務(wù)報(bào)銷(xiāo)流程培訓(xùn)課程
- 成人腦室外引流護(hù)理-中華護(hù)理學(xué)會(huì)團(tuán)體 標(biāo)準(zhǔn)
- 24年追覓在線測(cè)評(píng)28題及答案
- 春節(jié)慰問(wèn)困難職工方案春節(jié)慰問(wèn)困難職工活動(dòng)
評(píng)論
0/150
提交評(píng)論