介紹了C++類和對象的一些用法課件_第1頁
介紹了C++類和對象的一些用法課件_第2頁
介紹了C++類和對象的一些用法課件_第3頁
介紹了C++類和對象的一些用法課件_第4頁
介紹了C++類和對象的一些用法課件_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

C++程序設(shè)計基礎(chǔ)王海濤匯文教育2011.07Time類實例研究//Time.h#ifndefTIME_H#defineTIME_HclassTime{public:Time();

voidsetTime(int,int,int);voidprintUniversal();voidprintStandard();private:inthour;//0-23(24-hourclockformat)intminute;//0-59intsecond;//0-59};#endif//

Time.cpp#include<iostream>#include<iomanip>#include"Time.h"usingnamespacestd;Time::Time(){

hour=minute=second=0;}voidTime::setTime(inth,intm,ints){

hour=(h>=0&&h<24)?h:0;

minute=(m>=0&&m<60)?m:0;second=(s>=0&&s<60)?s:0;}voidTime::printUniversal(){cout<<setfill('0')<<setw(2)<<hour<<":"

<<setw(2)<<minute<<":"<<setw(2)<<second;}voidTime::printStandard(){

cout<<((hour==0||hour==12)?12:hour%12)<<":"<<setfill('0')<<setw(2)<<minute<<":"<<setw(2)<<second<<(hour<12?"AM":"PM");}預(yù)處理器封套:阻止重復(fù)定義類的作用域和類成員的訪問#include<iostream>usingnamespacestd;classCount{public:voidsetX(intvalue)

{

x=value;

}voidprint()

{

cout<<x<<endl;

}private:intx;};類的作用域和類成員的訪問intmain(){Countcounter;Count*counterPtr=&counter;Count&counterRef=counter;cout<<"Setxto1andprintusingtheobject'sname:";counter.setX(1);

counter.print();cout<<"Setxto2andprintusingareferencetoanobject:";counterRef.setX(2);

counterRef.print();cout<<"Setxto3andprintusingapointertoanobject:";counterPtr->setX(3);//setdatamemberxto3counterPtr->print();//callmemberfunctionprint}//endmain類的成員函數(shù)可以重載,但只能由類的其它成員函數(shù)重載//SalesPerson.cpp#include<iostream>#include<iomanip>#include"SalesPerson.h"http://includeSalesPersonclassdefinitionusingnamespacestd;SalesPerson::SalesPerson(){for(inti=0;i<monthsPerYear;i++)sales[i]=0.0;}//endSalesPersonconstructorvoidSalesPerson::getSalesFromUser(){doublesalesFigure;

for(inti=1;i<=monthsPerYear;i++)

{cout<<"Entersalesamountformonth"<<i<<":";cin>>salesFigure;setSales(i,salesFigure);}//endfor}//endfunctiongetSalesFromUser#include"SalesPerson.h"intmain(){SalesPersons;//createSalesPersonobjects

s.getSalesFromUser();//notesimplesequentialcode;thereares.printAnnualSales();//nocontrolstatementsinmain}//endmain默認實參的構(gòu)造函數(shù)//Fig.9.8:Time.h#ifndefTIME_H#defineTIME_HclassTime{public:Time(int=0,int=0,int=0);//defaultconstructorvoidsetTime(int,int,int);//sethour,minute,secondvoidsetHour(int);//sethour(aftervalidation)voidsetMinute(int);//setminute(aftervalidation)voidsetSecond(int);//setsecond(aftervalidation)intgetHour();//returnhourintgetMinute();//returnminuteintgetSecond();//returnsecond

voidprintUniversal();//outputtimeinuniversal-timeformatvoidprintStandard();//outputtimeinstandard-timeformatprivate:inthour;//0-23(24-hourclockformat)intminute;//0-59intsecond;//0-59};//endclassTime#endif//Fig.9.9:Time.cpp#include<iostream>#include<iomanip>#include"Time.h"http://includedefinitionofclassTimefromTime.husingnamespacestd;Time::Time(inthr,intmin,intsec){setTime(hr,min,sec);//validateandsettime}//endTimeconstructorvoidTime::setTime(inth,intm,ints){setHour(h);//setprivatefieldhoursetMinute(m);//setprivatefieldminutesetSecond(s);//setprivatefieldsecond}//endfunctionsetTimevoidTime::setHour(inth){hour=(h>=0&&h<24)?h:0;//validatehour}//endfunctionsetHourvoidTime::setMinute(intm){minute=(m>=0&&m<60)?m:0;//validateminute}//endfunctionsetMinutevoidTime::setSecond(ints){second=(s>=0&&s<60)?s:0;//validatesecond}//endfunctionsetSecondintTime::getHour(){returnhour;}//endfunctiongetHourintTime::getMinute(){returnminute;}//endfunctiongetMinuteintTime::getSecond(){returnsecond;}//endfunctiongetSecondvoidTime::printUniversal(){cout<<setfill('0')<<setw(2)<<getHour()<<":"<<setw(2)<<getMinute()<<":"<<setw(2)<<getSecond();}//endfunctionprintUniversalvoidTime::printStandard(){cout<<((getHour()==0||getHour()==12)?12:getHour()%12)<<":"<<setfill('0')<<setw(2)<<getMinute()<<":"<<setw(2)<<getSecond()<<(hour<12?"AM":"PM");}#include<iostream>#include"Time.h"usingnamespacestd;intmain(){

Timet1;//allargumentsdefaultedTimet2(2);//hourspecified;minuteandseconddefaultedTimet3(21,34);//hourandminutespecified;seconddefaultedTimet4(12,25,42);//hour,minuteandsecondspecifiedTimet5(27,74,99);//allbadvaluesspecifiedcout<<"Constructedwith:\n\nt1:allargumentsdefaulted\n";t1.printUniversal();//00:00:00cout<<"\n";t1.printStandard();//12:00:00AMcout<<"\n\nt2:hourspecified;minuteandseconddefaulted\n";t2.printUniversal();//02:00:00cout<<"\n";t2.printStandard();//2:00:00AM構(gòu)造函數(shù)、析構(gòu)函數(shù)的調(diào)用//

CreateAndDestroy.h#include<string>usingnamespacestd;#ifndefCREATE_H#defineCREATE_HclassCreateAndDestroy{public:CreateAndDestroy(int,string);//constructor~CreateAndDestroy();//destructorprivate:intobjectID;//IDnumberforobjectstringmessage;//messagedescribingobject};//endclassCreateAndDestroy#endif//Fig.9.12:CreateA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論