版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章
一、選擇題
1-3BCA
二、編程題
1.編寫(xiě)一個(gè)C++程序,要求榆出“歡迎學(xué)習(xí)C++語(yǔ)言巴
參考程序:
include<iostream>〃編譯預(yù)處理命令
usingnamespacestd;//使用命名空間std
intmain()II主函數(shù)main。
(
cout?”歡迎學(xué)習(xí)C++語(yǔ)言!”vvendl;//用C++的方法輸出一行
systemCPAUSE1');〃調(diào)用庫(kù)函數(shù)system(),輸出提示信息
return0;〃返回在返回操作系逐
)
?2.編一個(gè)程序,用一個(gè)函數(shù)實(shí)現(xiàn)求n個(gè)整型數(shù)據(jù)的最小值.函數(shù)原型如下:
intMin(inta[],intn)
#include<iostream>〃編譯預(yù)處理命令
usingnamespacestd;〃使用命名空間std
intMin(inta[],intn)〃求n個(gè)整型數(shù)據(jù)的最小值
intm=a[0],I;〃臨時(shí)變量
for(i=1;I<n;I++)
(〃依次比較求最小值
if(a[l]<m)
〃如果a[l]更小
〃a[l]為當(dāng)前最小值
returnm;〃返回最小值
!n,main()〃主函才攵main。
inta[]=[1,2,3,4,5,6,7,8,9,-10},n=10;
cout?△最小位為“?Min(a,n)?endl;〃榆出最小值
systemCPAUSE0);〃詞用庫(kù)函數(shù)system(),榆出提示信息
return0;II途回祜i,返回兼柞家磋
3.求2個(gè)數(shù)或3個(gè)整數(shù)中的最大數(shù),用兩個(gè)同名函數(shù)實(shí)現(xiàn),要求編寫(xiě)測(cè)試程序.
參考程序:
#include<iostream>〃編譯預(yù)處理命令
usingnamespacestd;〃使用命名空間std
intMax(intx,inty)//求x,y的最大值
(
returnx>y?x:y;〃返回x,y的最大值
}
intMax(intx,inty,intz)〃求x,y,z的最大值
(
Intm=x>y?x:y;〃x,y的最大值
m=m>z?m:z;〃m,z的最大值
returnm;〃返回x,y,z的最大值
)
intmain()//主函數(shù)main。
cout?”2,3的最大值為“?Max(2,3)?endl;
cout?”1,6,8的最大值為“?Max(1,6,8)?endl;
systemC'PAUSE");〃調(diào)用庫(kù)函數(shù)system(),輸出提示信息
return0;//返回值,返回操作系統(tǒng)
)
4.用變量的引用作函數(shù)形參,實(shí)現(xiàn)交換兩個(gè)整型變量,要求編寫(xiě)測(cè)試程序。
參考程序:
#include<iostream>//編譯預(yù)處理命令
usingnamespacestd;〃使用命名空間std
voidSwap(int&x,int&y)//交換x,y的值
(
intt=x;x=y;y=t;〃循環(huán)賦值交換x,y的值
)
Intmain()//主函數(shù)maln()
{
intx=1,y=6;
cout?"交換諭:**?x??y?endl;
Swap(x,y);
cout?"交換后:"?x??y?endl;
systemCTAUSE");〃調(diào)用庫(kù)函數(shù)system。,輸出系統(tǒng)提示信息
return0;//返回值,返回操作系統(tǒng)
}
*5.編一個(gè)程序,用同一個(gè)函數(shù)名對(duì)n個(gè)數(shù)據(jù)進(jìn)行從小到大排序,數(shù)據(jù)類型可
以是整型、單精度實(shí)型、雙精度實(shí)型,用重載函數(shù)實(shí)現(xiàn)。
參考程序:
#include<iostream>//編譯預(yù)處理命令
usingnamespacestd;〃使用命名空間std
voidSort(lntaQ,intn)〃對(duì)a[0].?.a[n?1]進(jìn)行排序
{
inttem,I,j;〃定義變量
for(i=0;i<n-1;IT)
for(J=i+1;j<n;J++)
if(a[i]>aU])
tem=a[i];a[i]=a[j];a[j]=tern;
)
}
voidSort(floataQ,intn)〃對(duì)a[0]...a[n?1]進(jìn)行排序
(
floattem;〃臨時(shí)變量
Inti,j;〃定義變量
for(i=0;I<n-1;l+.)
for(j=i+1;j<n;J++)
lf(a[l]>aU])
{〃a[i]比a[J]更大
tem=a[i];a[i]=a[j];a[j]=tem;
)
voidSort(doubleaQ,intn)//對(duì)④⑼…石印刃進(jìn)行排序
doubletem;〃臨時(shí)變量
intI,J;//定義變量
for(i=0;i<n-1;k.)
for(j=i+1;j<n;j++)
H(a[l]>a[j])
{〃a[l]比a[J]更大
tem=a[i];a[i]=a[j];a[j]=tem;
)
)
intmain()//主函數(shù)main()
inta[]={1,3,2,5,6,9,0,6};〃定義a
floatbQ={1.6,3.3,2.8,5.6,6.8,9.6,0.6,6.8};//定義b
doublec[]={1.2,3.1,2.6,5.8,6.8,9.8,0.8,6.2};//定義c
inti,n=8;〃定義變量
Sort(a,n);//對(duì)a排序
cout?"a:“;〃輸出提示
for(I=0;i<n;U+)
cout?a[l]?”〃輸出a[i]
cout?endl;〃換行
Sort(b,n);〃對(duì)b排序
cout?"b:*';〃輸出提示
for(i=0;i<n;i++)
cout?b[i]?"〃輸出b[i]
cout?endl;〃換行
Sort(c,n);II對(duì)C#序
cout?Mc:M;〃輸出提示
for(I=0;i<n;k*)
cout?c[i]?"〃輸出c[i]
cout?endl;〃換行
systemC'PAUSE-);〃調(diào)用庫(kù)函數(shù)system(),輸出系統(tǒng)提示信息
return0;〃返回值,返回操作系統(tǒng)
第二章
一、選擇題
1-5CCACD
6-10DABAD
11-15BDBCD
16C
二、填空題
1、類
2、友元
3、intpoint::count=0
4、2
5、this->n或Integer::n
6、A~A
三、編程題
1.定義一個(gè)滿足如下要求的Date類,
(1)用下面的格式輸出日期:
年-月?日
(2)設(shè)置日期。
并編出應(yīng)用程定義日期對(duì)象,設(shè)置日期,輸出該對(duì)象提供的日期。
參考程序:
#include<iostream>〃編譯預(yù)處理命令
usingnamespacestd;〃使用命名空間std
classDate
private:
〃數(shù)據(jù)成員
intyear;〃年
intmonth;〃月
intday;//日
public:
〃公有函數(shù)
Date(inty=2010,intm=1,intd=1):
year(y),month(m),day(d){}〃構(gòu)造函數(shù)
voidSet(inty,intm,intd)〃設(shè)置日期
{year=y;month=m;day=d;}
voidShow()const〃顯示日期
{cout?year??month??day?endl;}
);
intmain()//主函數(shù)maln()
Dated;〃定義對(duì)象
d.Show();〃顯示日期
d.Set(2016,6,18);〃設(shè)置日期
d.Show();〃顯示日期
system("PAUSE");〃調(diào)用庫(kù)函數(shù)system。,輸出提示信息
return0;〃返回值,返回猱作系統(tǒng)
)
2.定義一個(gè)時(shí)間類Time.
場(chǎng)翳*定義時(shí)間對(duì)象,鬟翻皙峰目&4盛耀犒時(shí)間,并編出
#include<iostream>曦耀轆d
usingnamespacestd;
classTime
inthour;//時(shí)
intminute://々
intsecond;//秒
public:
方公宥函數(shù)
Time(inth=0,intm=0.ints=0)://構(gòu)造函數(shù)
hour(h),minute(m),second(s){}
voidSet(inth,intm,ints)//設(shè)置日期
{hour=n;minute=m;second=s;}
voidShow()const〃顯示日期
{cout?hour?n:0?minute??second?endl;}
Jntmain()II主函數(shù)main。
定
義
〃
甘
顯
示
Ti1rsTIme〃
置
設(shè)
1sw(〃
ho示
顯
1〃
8,用
sset(usF〃調(diào)m
回
〃
系
rThowm(返,輸出提示信息
stenc
urn
*3.編寫(xiě)設(shè)計(jì)一個(gè)People(人)類.該類的數(shù)據(jù)成貝有姓名(name)、年齡
(age)、身高(height)、體重(weight)和人數(shù)(num),其中人數(shù)為靜態(tài)數(shù)據(jù)成員,
成員函數(shù)有構(gòu)造函數(shù)(People)、進(jìn)食(Eatting)、運(yùn)動(dòng)(Sporting)、顯示(Show)
和顯示人駁(ShowNum),其中構(gòu)造函數(shù)由已知參數(shù)姓用(nm)、年齡(a)、身高
(h)和體重(w)構(gòu)造對(duì)象,進(jìn)食函數(shù)使體重加1,運(yùn)動(dòng)函數(shù)使身高加1,顯示函數(shù)
用于顯示人的姓名、年齡、身高、體重,顯示人數(shù)函數(shù)為靜態(tài)成員函數(shù),用于
顯示人數(shù)。假設(shè)年齡的單位為歲,身高的單位為厘米,體重的單位為市斤,要
求所有數(shù)據(jù)成員為private訪問(wèn)權(quán)限,所有成員函數(shù)為public訪問(wèn)權(quán)限,在主函
數(shù)中定義若干個(gè)對(duì)象,通過(guò)對(duì)象直接訪問(wèn)類的所有非靜態(tài)成員函數(shù),通過(guò)類訪
問(wèn)靜態(tài)成員函數(shù)。
參考程序:
#include<iostream>//虢)譯預(yù)處理命令
usingnamespacestd;〃使用命名空間std
classPeople
(
private:
〃數(shù)據(jù)成員
姓
名
〃
charname[9];
華
齡
〃
intage;身
高
〃
intheight;體
〃<
doubleweight;人
數(shù)
〃
staticintnum;
public:
〃公有函數(shù)
People(charnm[]="無(wú)名氏",inta=16,inth=168,intw=118):
age(a),height(h),weight(w){strcpy(name,nm);num++;}
voidEatting(){weighu*;}//進(jìn)有
voidSporting(){heighU+;}//運(yùn)動(dòng)
voidShow()const〃顯示信息
{
cout?”個(gè)人信息:"?endl;
cout?"姓名:**?name?endl;
cout?"年齡:"?age?"歲"?endl;
cout?“身高:"?height?“厘米"?endl;
cout?"體重:"?weight?"市斤"?endl?endl;
}
staticvoidShowNum()//顯示人數(shù)
{cout?"人數(shù)?num?endl;}
);
intPeople::num=0;//初始化靜態(tài)數(shù)據(jù)成員num
intmain()〃主函數(shù)main。
Peoplep1;〃定義對(duì)象
p1.Show();〃顯示信息
Peoplep2(“李敏”,18,170,108);〃定義對(duì)象
p2.Eatting();〃進(jìn)食
p2.Sporting();〃運(yùn)動(dòng)
p2.Show();〃顯示信息
People::ShowNum();〃顯示人數(shù)
systemC'PAUSE");〃調(diào)用庫(kù)函數(shù)system(),輸出提示信息
return0;〃返回值,返回操作系統(tǒng)
*4.定義一個(gè)描述員工(Employee)基本情況的類,數(shù)據(jù)成員包括編號(hào)(num)、
姓名(name)、性別(sex)、工資(wage)、人數(shù)(count)、總工資(totalWage)。
其中姓名定義為長(zhǎng)度為18的字符數(shù)組,性別為為長(zhǎng)度為3的字符數(shù)組,其它數(shù)
據(jù)成員類型為整型,總工資和人數(shù)為靜態(tài)數(shù)據(jù)成員,函數(shù)成員包括構(gòu)造函數(shù)、
顯示基本數(shù)據(jù)函數(shù)(ShowBase)和顯示靜態(tài)數(shù)據(jù)函數(shù)(ShowStatic),其中構(gòu)造
函數(shù)由已知參數(shù)編號(hào)(nu)、姓名(nm)、性別(sx)和工資(wg)構(gòu)造對(duì)象,顯示
基本數(shù)據(jù)函數(shù)用于顯示學(xué)生的編號(hào)、姓名、性別和工資,顯示靜態(tài)數(shù)據(jù)函數(shù)為
靜態(tài)成員函數(shù),用于顯示人數(shù)和總工資;要求所宥數(shù)據(jù)成員為protected訪問(wèn)
權(quán)限,所有成員函數(shù)為public訪問(wèn)權(quán)限,在主函數(shù)中定義若干個(gè)員工對(duì)象,分
別顯示員工基本信息,以及顯示員工人數(shù)和總工資。
參考程序:
#include<iostream>〃編譯預(yù)處理命令
usingnamespacestd;〃使用命名空間std
classEmployee
protected:
〃數(shù)據(jù)成員
Intnum;〃編號(hào)
charname[18];〃姓名
charsex[3];〃姓名
intwage;〃工資
staticintcount;〃人數(shù)
staticInttotalWage;〃總工資
public:
〃公有函數(shù)
Employee(intnu,charnm口,charsx[],intwg):num(nu),wage(wg)
{strcpy(name,nm);strcpy(sex,sx);count++;totalWage+=wg;};
voidShowBase()//顯示基本數(shù)據(jù)
(
cout?”個(gè)人基本信息:"?endl;
cout?“學(xué)號(hào):"?num?endl;
cout?"姓名?name?endl;
cout?"性另U:"?sex?endl;
cout?“工資:"?wage?"元"?endl?endl;
)
staticvoidShowStatic()//顯示靜態(tài)數(shù)據(jù)
{
cout?"人數(shù):"?count?endl;
cout?”總工資廣?totalWage?"元"?endl;
)
};
intEmployee::count=0;//初始化靜態(tài)數(shù)據(jù)成員count
intEmployee::totalWage=0;/初始化靜態(tài)數(shù)據(jù)成員totalWage
intmain()//主函數(shù)main。
(
Employeee1(1008,“李杰“男”,2680);〃定義對(duì)象
e1.ShowBase();〃顯示基本數(shù)據(jù)
Employeee2(1009,“李敏"女”,2860);〃定義對(duì)象
e2.ShowBase();//顯示基本數(shù)據(jù)
e2.ShowStatic();//顯示辭態(tài)數(shù)據(jù)
system(,,PAUSE,1);〃調(diào)用庫(kù)函數(shù)system。,輸出系統(tǒng)提示信息
return0;〃返回值,返回操作系統(tǒng)
第三章
一、選擇題
1-5CCACC
二、填空題
1、Fun<double,int>(7)
2、ElemTypedbl(ElemTypen){returnn+n;}
3、最小整數(shù)=4,最小實(shí)型=0.35
二、編程題
1.試使用函數(shù)模板實(shí)現(xiàn)輸■出一個(gè)數(shù)組各元素的值,要求編寫(xiě)測(cè)試程序.
參考程序:
include<iostream>II編譯預(yù)處理命令
usingnamespacestd;〃使用命名空間std
template<classElemType>
voidDisplay(ElemTypeaQ,intn)//輸出數(shù)組a各元素之值
(
for(inti=0;i<n;i++)
cout?a[i]?〃榆出a[i]
cout?endl;〃換行
}
intmain()〃主函數(shù)main。
intaQ={1,2,3,4,5,6,7,8,9);//定義數(shù)蛆
Display(a,9);〃輸出a
systemCTAUSE");〃調(diào)用庫(kù)函數(shù)system。,輸出系統(tǒng)信息
return0;〃返回值,返回操作系統(tǒng)
2.編寫(xiě)一個(gè)復(fù)數(shù)類模板Complex,其數(shù)據(jù)成員real和image的類型未知,定義
相應(yīng)的成員函數(shù),包括構(gòu)造函數(shù)、輸出復(fù)數(shù)值的函數(shù)、求復(fù)數(shù)和的函數(shù)和求復(fù)數(shù)
差的函數(shù),主函數(shù)中定義模板類對(duì)象,分別以int和double實(shí)例化類型參數(shù)。
參考程序:
#include<iostream>//編譯預(yù)處理命令
usingnamespacestd;//使用命名空間std
〃聲明復(fù)數(shù)類模板
template<classElemType>
classComplex
{
private:
〃數(shù)據(jù)成員
ElemTypereal;〃實(shí)部
日emTypeimage;//虛部
public:
〃公有函數(shù)
Complex(ElemTyper=0,ElemTypei=0):real(r),image(i){}
voidShow()const;〃輸出復(fù)藪
staticComplexAdd(constComplex&z1,constComplex&z2);
staticComplexSub(constComplex&z1,constComplex&z2);
);
template<classElemType>
voidComplex<ElemType>::Show()const〃輸出復(fù)數(shù)
if(image<0)cout?real?image?'T?endl;〃虛部為負(fù),例如-51
elseif(image==0)cout?real?endl;//虛部為0,例如3
elsecout?realimagevv“i"vvendl;//虛都為正,例如+5i
}
template<classElemType>
Complex<ElemType>Complex<ElemType>::Add(constComplex&z1,
constComplex&z2)//復(fù)駁加法
Complexz(z1.real-1-z2.real,z1.image+z2.image);//定義復(fù)數(shù)對(duì)象
returnz;〃返回復(fù)數(shù)
}
template<classElemType>
Complex<Elemiype>Complex<ElemType>::Sub(constComplex&z1,
constComplex&z2)//復(fù)數(shù)減法
Complexz(z1.real-z2.real,z1.image-z2.image);//定義復(fù)數(shù)對(duì)象
returnz;〃返回發(fā)藪
intmain()//主函數(shù)maln()
(
Complex<int>z1(2,3),z2(6,-5),z3;//定義復(fù)數(shù)對(duì)象
z1.Show();〃輸?出z1
z2.Show();〃輸出z2
z3=Complex<int>::Add(z1,z2);//z3=z1+z2
z3.ShowO;〃榆出z3
z3=Complex<int>::Sub(z1,z2);/7z3=z1-z2
z3.Show();〃輸出z3
Complex<double>z4(2.1,3.8),z5(6.8,-5.1),z6;//C義復(fù)數(shù)對(duì)家
z4.Show();〃輸出z4
z5.Show();〃輸出z5
z6=Complex<double>::Add(z4,z5);//z6=z4+z5
z6.Show();〃輸出z3
z6=Complex<double>::Sub(z4,z5);//z6=z4-z5
z6.Show();〃輸出z6
system("PAUSE");〃調(diào)用庫(kù)函數(shù)system(),給出系統(tǒng)提示信息
return0;〃返回值,返回操作系喪
)
*3.編寫(xiě)一個(gè)使用數(shù)組類模板Array對(duì)數(shù)組求最大值和求元素和的程序,要求
編寫(xiě)出測(cè)試程序。
參考程序:
#include<iostream>〃編譯預(yù)處理命令
usingnamespacestd;〃使用命名空間std
〃聲明數(shù)組類模板
template<classElemType>
classArray
(
private:
〃數(shù)據(jù)成員
ElemType*elem;〃存儲(chǔ)數(shù)據(jù)元素值
intsize;〃數(shù)組元素個(gè)數(shù)
public:
〃公有函數(shù)
Array(intsz):size(sz){elem=newElemType[size];}//構(gòu)造函數(shù)
-Array(){deleteelem;}〃析構(gòu)函數(shù)
voidSetElem(ElemTypee,inti);〃設(shè)置元素值
ElemTypeGetElem(inti)const;//求元素值
ElemTypeMax()const;〃求最大值
ElemTypeSum()const;//求元素之和
template<classElemType>
voidArray<ElemType>::SetElem(ElemTypee,inti)//設(shè)置元素值
(
if(i<0||i>=size)
(
cout?”元素位置錯(cuò)!”?endl;
exit⑴;〃退出程序的運(yùn)行,返回到操作系統(tǒng)
)
elem[i]=e;II設(shè)置元素值為e
}
template<classElemiype>
ElemTypeArray<ElemType>::GetElem(inti)const//求元素值
(
if(i<0||i>=size)
{
cout?”元素位置錯(cuò)!”?endl;
exit(2);〃退出程序的運(yùn)行,返回到操作系統(tǒng)
}
returnelem[i];//返回元素值
)
template<classElemType>
ElemTypeArray<ElemType>::Max()const〃求最大值
(
ElemTypem=設(shè)elem[0]最大
for(inti=1;i<size;i++)
if(elem[i]>m)m=elem[i];//依次比較求最大值
returnm;〃返回最大值
template<classElemType>
ElemTypeArray<ElemType>::Sum()constII求元素之和
ElemTypes=0;〃定義變量
for(inti=1;I<size;I++)
s=s+elem[i];〃依次求和
returns;〃返回和
}
intmain()〃主函數(shù)main。
{
inta[]={1,9,7,5,6,3};〃定義數(shù)組a
intn=6;〃數(shù)組元素個(gè)數(shù)
Array<int>obj(n);〃定義數(shù)組對(duì)象
inti;〃定義變量
for。=0;ivn;X)
obj.SetElem(a[i],i);II設(shè)置數(shù)組元素值
for(i=0;i<n;i++)
cout?obj.GetElem(i)?”〃輸出元素值
cout?endl;〃換行
cout?"最大值為:"?obj.Max()?endl;//輸出最大值
cout?”各元素和為:"vvobj.Sum()vvendl;//輸出各元素之和
system("PAUSE',);〃調(diào)用庫(kù)函數(shù)system(),榆出系統(tǒng)提示信息
return0;〃返回值,返回操作系爰
*4.對(duì)數(shù)組求最大值和求元素和的算法都編寫(xiě)為函數(shù)模板,要求編寫(xiě)出測(cè)試程
序.
參考程序:
#include<iostream>//編譯預(yù)處理命令
usingnamespacestd;〃使用命名空間std
template<classElemType>
ElemTypeMax(ElemTypea。,intn)〃求最大值
(
ElemTypem=a[0];〃設(shè)a[0]最大
for(intI=1;i<n;I++)
if(a[i]>m)m=a[l];〃依次比較求最大值
returnm;〃返回最大值
)
template<classElemType>
ElemTypeSum(ElemTypea[],intn)II求元素之和
{
ElemTypes=0;〃定義變量
for(inti=1;i<n;i++)
s=s+a[i];〃依次求和
returns;〃返回和
)
intmain()〃主函數(shù)main。
{
inta[]={1,9,7,5,6,3);//定義數(shù)組a
intn=6;〃數(shù)組元素個(gè)數(shù)
for(inti=0;i<n;i++)
cout?a[i]?'〃輸出元素值
cout?endl;〃換行
cout?”最大值為:”?Max(a,n)?endl;〃輸出最大值
cout?”各元素和為:"?Sum(a,n)?endl;〃輸出各元素之和
system("PAUSE");〃調(diào)用庫(kù)函數(shù)system(),輸出系統(tǒng)提示信息
return0;〃返回值,返回操作系統(tǒng)
)
**5.對(duì)數(shù)組求最大值和求元素和的函數(shù)采用靜態(tài)成員函數(shù)的方式封裝成數(shù)組
受雅普板ArrayAIg,要求編寫(xiě)出測(cè)試程序。
#include<iostream>
usingnamespacestd;爆
〃聲朗數(shù)組類程板
template<classElemType>
classArrayAIg
public:
》公有函數(shù)
staticElemTypeMax(ElemTypea[],intn)〃求最大值
ElemTypem=a[01://設(shè)a[0]最大
for(infr=1:i<n;7++)
if(a[i]>m)m=a[i];〃依次比較求最大值
returnm;〃運(yùn)回最大總
}
staticElemTypeSum(ElemTypea[],intn)//求元素之和
ElemTypes=0;
〃定義變量
for(inti=1;i<n;i++)
s=s+a[i];〃依次.
returns;〃返回:
};
intmain()//主函數(shù)main。
inta[]={1,9,7,5,6,3);〃定義數(shù)組a
intn=6;〃數(shù)組元素個(gè)數(shù)
for(inti=0;i<n;i++)
cout?a[i]?'“”;〃輸出元素值
cout?endl;〃換行
cout?"最大值為:"?ArrayAlg<int>::Max(a,n)?endl;
coutvv”各元素和為丁'?ArrayAlg<int>::Sum(a,n)?endl;
system(,?PAUSE,,);〃調(diào)用庫(kù)函數(shù)system。,榆山系統(tǒng)提示信息
return0;〃返回值,返回操作系統(tǒng)
)
第四章
一、選擇題
1-4ACAB
二、填空題
1、booloperator!(constMyclass&)
2、1
3、operator
三、編程題
“*,,
1.定義一個(gè)復(fù)數(shù)類Complex,重載運(yùn)算符,使之能用于復(fù)
數(shù)的加、減、乘。編程序,分別求兩個(gè)復(fù)數(shù)之和、差與積。
參考程序:
#include<iostream>〃編譯預(yù)處理命令
usingnamespacestd;〃使用命名空間std
〃聲明復(fù)數(shù)類
classComplex
(
private:
〃數(shù)據(jù)成員
doublereal;//實(shí)部
doubleimage;〃虛部
public:
〃公有函數(shù)
Complex(doubler=0,doublei=0):real(r),image(i){}//構(gòu)造函數(shù)
voidShow()const;〃輸出復(fù)數(shù)
doubleGetReal()const{returnreal;}〃返回實(shí)部
doubleGetlmage()const{returnimage;}//返回虛部
voidSetReal(doublerl){real=rl;}〃設(shè)置實(shí)部
voidSetlmage(doubleig){image=ig;}//設(shè)置虛部
};
voidComplex::Show()const〃輸出復(fù)數(shù)
(
if(image<0)cout?real?image?"i"?endl;//虛部為負(fù)
elseif(image==0)cout?real?endl;//虛部為0
elsecout?realvvvvimage?,,P,?endl;〃虛部為正
)
Complexoperator+(constComplex&a,constComplex&b)
H重載加法運(yùn)算符兩個(gè)操作數(shù)都是對(duì)象
(
Complexz(a.GetReal()+b.GetReal(),
a.Getlmage()+b.Getlmage());//定義復(fù)數(shù)對(duì)象
returnz;〃返回和
)
Complexoperator-(constComplex&a,constComplex&b)
//重載加法運(yùn)算符兩個(gè)操作數(shù)都是對(duì)象
{
Complexsub(a.GetReal()-b.GetReal(),
a.Getlmage()-b.Getlmage());//定義差對(duì)象
returnsub;〃返回和
}
Complexoperator*(constComplex&a,constComplex&b)
//重載加法運(yùn)算符兩個(gè)操作數(shù)都是對(duì)象
{
Complexz;//定義復(fù)數(shù)對(duì)象
z.SetReal(a.GetReal()*b.GetReal()-a.Getlmage()*b.Getlmage());
〃設(shè)置實(shí)部
z.Setlmage(a.GetReal()*b.Getlmage()+a.Getlmage()*b.GetReal());
//設(shè)置虛部
returnz;〃返回積
}
intmain()〃主函數(shù)main。
(
Complexz1(2,3),z2(6,-5),z3;〃定義復(fù)數(shù)對(duì)象
z1.Show();〃輸出z1
z2.Show();〃輸出z2
z3=z1+z2;//z3=z1+z2
z3.Show();〃輸出z3
z3=z1-z2;//z3=z1-z2
z3.Show();〃輸出z3
z3=z1*z2;Z/z3=z1*z2
z3.Show();〃輸出z3
system("PAUSE^?);〃調(diào)用庫(kù)函數(shù)system(),輸出系統(tǒng)提示信息
return0;〃返回值,返回操作系統(tǒng)
}
o£5?升一人日光Rata季夏?
^I:藐鱉宴豌蠹鬻歲嚶鬟黑黑算符
參考程序:
#include<iostream>〃編譯預(yù)處理命令
usingnamespacestd;〃使用命名空間std
classDate
(
private:
〃數(shù)據(jù)成員
intyear;〃年
intmonth;〃月
intday;//日
public:
〃公有函數(shù)
Date(inty=2010,intm=1,intd=1):year(y),month(m),day(d){)
voidSetYear(inty){year=y;}//設(shè)置年
voidSetMonth(intm){month=m;}〃設(shè)置月
voidSetDay(intd){day=d;}〃設(shè)置日
intGetYear()const{returnyear;}〃返回年
intGetMonth()const{returnmonth;}〃返回月
intGetDay()const{returnday;}〃返回日
};
istream&operator?(istream&in,Date&dt)//重載榆入運(yùn)算符">>”
inty,m,d;〃表示年(y),月(m)和日(d)
cout?"輸入年:";
in?y;//輸入年
cout?“輸入月:
in?m;〃輸入月
cout?"榆入日:";
in?d;〃榆入日
dt.SetYear(y);〃設(shè)置年
dt.SetMonth(m);〃設(shè)置月
dt.SetDay(d);〃設(shè)置日
returnin;〃返回輸入流對(duì)象
}
ostream&operator?(ostream&out,constDate&dt)〃重載運(yùn)算符“vv”
(
cout?dt.GetYear()?“年"?dt.GetMonth()?“月”
?dt.GetDay()?“日“;
returnout;〃返回輸出流對(duì)象
}
intmain()//主函數(shù)main()
(
Dated;〃定義對(duì)象
cin?d;//輸入日期
cout?d?endl;〃輸出日期
systemCPAUSE");〃調(diào)用庫(kù)函數(shù)system(),輸出系統(tǒng)提示信息
return0;〃返回值,返回操作系統(tǒng)
*3.設(shè)計(jì)一個(gè)時(shí)間類Time,要求:
(1)包含時(shí)(hour,、分(minute)和秒(second)私有數(shù)據(jù)成員。
(2)包含構(gòu)造函數(shù),重載關(guān)于一時(shí)間加上另一時(shí)間的加法運(yùn)算符“+”、重載
輸出運(yùn)算符“vv”與重載輸入運(yùn)算符
參考程序:
#include<iostream>〃編譯預(yù)處理命令
usingnamespacestd;〃使用命名空間std
classTime
private:
〃數(shù)據(jù)成員
inthour;〃時(shí)
intminute;〃月
intsecond;〃秒
public:
〃公有函數(shù)
Time(inth=0,intm=0,ints=0):
hour(h),minute(m),second(s){}//構(gòu)造函數(shù)
voidSetHour(inth){hour=h;}〃設(shè)置時(shí)
voidSetMinute(intm){minute=m;}〃設(shè)置分
voidSetSecond(ints){second=s;}〃設(shè)置秒
intGetHour()const{returnhour;}〃返回時(shí)
intGetMinuteQconst{returnminute;}〃返回分
intGetSeconaQconst{returnsecond;}〃返回秒
};
istream&operator?(istream&in,Time&t)//重載輸入運(yùn)算符">>”
(
inth,m,s;//表示時(shí)(h),分(m)和秒(s)
cout?"備入時(shí):";
in?h;〃輸入時(shí)
cout?"輸入分:";
in?m;〃輸入分
cout?"輸入秒:";
in?s;II輸入秒
tSetHour(h);〃設(shè)置時(shí)
t.SetMinute(m);〃設(shè)置分
t.SetSecond(s);〃設(shè)置秒
returnin;〃返回輸入流對(duì)象
)
ostream&operator?(ostream&out,constTime&t)//重載運(yùn)算符“vv”
(
cout?t.GetHour()?":?'?t.GetMinute()?
?t.GetSecond();
returnout;〃返回輸出流對(duì)象
}
Timeoperator-?-(constTime&a,constTime&b)//重載加法運(yùn)算符
{
ints=3600*a.GetHour()+60*a.GetMinute()+a.GetSecond()+
3600*b.GetHour()+60*b.GetMinute()+b.GetSecond();
Timet;〃定義地象
t.SetHour(s/3600);//設(shè)置時(shí)
s=s%3600;〃去掉時(shí)占用的時(shí)間
t.SetMinute(s/60);//設(shè)置分
t.SetSecond(s%60);//設(shè)置秒
returnt;〃返回時(shí)間
}
intmain()〃主函數(shù)main。
(
Timet1,t2;〃定義對(duì)象
cout?”榆入:"?endl;//輸入提示
cin?t1;//輸入1t
cout?t1?endl;
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度房地產(chǎn)廣告效果評(píng)估合同6篇
- 二零二五年度新型半導(dǎo)體材料采購(gòu)合同簽訂流程與執(zhí)行細(xì)則2篇
- 2025版池塘水域養(yǎng)殖權(quán)轉(zhuǎn)租及環(huán)境保護(hù)合同樣本3篇
- 2025版昆明市政府臨時(shí)工招聘服務(wù)合同3篇
- 2025年度社保工傷保險(xiǎn)合同范本(含企業(yè)員工福利政策)3篇
- 二零二五年度企業(yè)人才招聘與培養(yǎng)合同3篇
- 二零二五年度國(guó)際知識(shí)產(chǎn)權(quán)授權(quán)合同與實(shí)施標(biāo)準(zhǔn)3篇
- 2025年度數(shù)據(jù)安全防護(hù)與應(yīng)急預(yù)案制定合同3篇
- 蘇州校本課程設(shè)計(jì)
- 二零二五年度幼兒園教育設(shè)施建設(shè)與房地產(chǎn)開(kāi)發(fā)合同3篇
- 小學(xué)班主任班級(jí)管理策略-高年級(jí)篇
- 西北工業(yè)大學(xué)非事業(yè)編制人員
- 托??谡Z(yǔ)課程托??荚嚱榻Btask
- 《質(zhì)量和密度》復(fù)習(xí)課課件
- GM∕T 0018-2012 密碼設(shè)備應(yīng)用接口規(guī)范
- 《光纖通信》習(xí)題解答
- 天津公司股權(quán)轉(zhuǎn)讓協(xié)議
- 鋼筋負(fù)溫度焊接工藝要求
- 開(kāi)發(fā)建設(shè)項(xiàng)目水土保持方案編制技術(shù)問(wèn)題-廣東省水土保持網(wǎng)
- 薄膜衰減片的仿真設(shè)計(jì)
- 國(guó)家開(kāi)放大學(xué)畢業(yè)生登記表
評(píng)論
0/150
提交評(píng)論