版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、#include<iostream>using namespace std;class Txpublic:Tx(int i,int j);Tx();void display();private:int num1,num2;Tx:Tx(int i,int j=10)num1=i;num2=j;cout<<"Constructing"<<num1<<""<<num2<<endl;void Tx:display()cout<<"display"<<
2、;num1<<""<<num2<<endl;Tx:Tx()cout<<"Destructing"<<num1<<""<<num2<<endl;void main()Tx t1(22,11);Tx t2(20);t1.display();t2.display();system("pause");答:1.當(dāng)建立一個(gè)對(duì)象時(shí),對(duì)象的狀態(tài)(數(shù)據(jù)成員的取值)是不確定的。但對(duì)象表達(dá)了現(xiàn)實(shí)世界的實(shí)體,因此,一旦建立對(duì)象,必須有一個(gè)有意義
3、的初始值。構(gòu)造函數(shù)用來(lái)自動(dòng)進(jìn)行對(duì)象的初始化;析構(gòu)函數(shù)在對(duì)象撤銷時(shí)執(zhí)行清理任務(wù),進(jìn)行善后處理。2. 私有成員是在類中被隱藏的部分,它往往是用來(lái)描述該類對(duì)象屬性的一些數(shù)據(jù)成員,私有成員只能由本類的成員函數(shù)或某些特殊說(shuō)明的函數(shù)(如友元函數(shù))訪問(wèn),而類的外部函數(shù)無(wú)法訪問(wèn)私有成員;共有成員對(duì)外是完全開放的;受保護(hù)成員只能由該類的成員函數(shù)、友元、共有派生成員函數(shù)訪問(wèn)。3. 拷貝構(gòu)造函數(shù)是用一個(gè)已有的對(duì)象來(lái)初始化一個(gè)被創(chuàng)建的同類對(duì)象的特殊的構(gòu)造函數(shù),具有一般構(gòu)造函數(shù)的所有特性。但創(chuàng)建一個(gè)新對(duì)象時(shí)系統(tǒng)會(huì)自動(dòng)調(diào)用它。4. 兩個(gè)成員函數(shù):設(shè)置計(jì)數(shù),獲取計(jì)數(shù);一個(gè)成員變量:保存計(jì)數(shù)。8. 運(yùn)行結(jié)果:Construc
4、ting2211Constructing2010Display2211Display20101. 設(shè)計(jì)一個(gè)大學(xué)的類系統(tǒng),學(xué)校中有學(xué)生、教師和職員,每種人員都有自己的特性,他們之間又有相同的地方。利用繼承機(jī)制定義這個(gè)系統(tǒng)中的各個(gè)類及類上必需的操作。答:經(jīng)調(diào)試后的代碼:#include <iostream>#include <cstdlib>#include <string>using namespace std;class personpublic: void in_nm(); void in_id(); void ou_nm(); void ou_id();
5、private: string id; string name;class student:public personpublic: void in_clsid(); void in_sc(); void ou_clsid(); void ou_sc();private: string cls_id; float score;class teacher:public personpublic: void in_zc(); void in_dp(); void ou_zc(); void ou_dp();private: string zc; string depart;void person:
6、in_nm() cout<<"請(qǐng)輸入姓名:"<<endl; cin>>name;void person:in_id() cout<<"請(qǐng)輸入編括號(hào):"<<endl; cin>>id;void person:ou_nm() cout<<"姓名為:"<<name<<endl;void person:ou_id() cout<<"編號(hào)為:"<<id<<endl;void stud
7、ent:in_clsid() cout<<"請(qǐng)輸入學(xué)生班級(jí):"<<endl; cin>>cls_id;void student:in_sc() cout<<"請(qǐng)輸入學(xué)生分?jǐn)?shù):"<<endl; cin>>score;void student:ou_clsid() cout<<"學(xué)生班級(jí)為:"<<cls_id<<endl;void student:ou_sc() cout<<"學(xué)生分?jǐn)?shù)為:"<&
8、lt;score<<endl;void teacher:in_zc() cout<<"請(qǐng)輸入教師職稱:"<<endl; cin>>zc;void teacher:in_dp() cout<<"請(qǐng)輸入教師部門:"<<endl; cin>>depart;void teacher:ou_zc() cout<<"教師職稱為:"<<zc<<endl;void teacher:ou_dp() cout<<"
9、教師部門為:"<<depart<<endl;int main() student stu; cout<<"開始輸入學(xué)生信息:"<<endl; stu.in_nm(); stu.in_id(); stu.in_clsid(); stu.in_sc(); cout<<"顯示學(xué)生信息:"<<endl; stu.ou_nm(); stu.ou_id(); stu.ou_clsid(); stu.ou_sc(); cout<<endl; teacher tch; cout
10、<<"開始輸入教師信息:"<<endl; tch.in_nm(); tch.in_id(); tch.in_zc(); tch.in_dp(); cout<<"顯示教師信息:"<<endl; tch.ou_nm(); tch.ou_id(); tch.ou_zc(); tch.ou_dp(); cout<<endl; system("pause"); return 0; 運(yùn)行結(jié)果為:2構(gòu)建一個(gè)類用于計(jì)算數(shù)據(jù)的統(tǒng)計(jì)信息,類名Cstatistics,類中包括,成員變量:數(shù)據(jù)個(gè)數(shù)(
11、int N),數(shù)據(jù)(double* data),均值(double mean),方差(double variance),最大值(double max),最小值(double min)。成員函數(shù):輸入函數(shù)(void input()):輸入數(shù)據(jù)個(gè)數(shù)N,給data變量申請(qǐng)N個(gè)空間,并輸入N個(gè)數(shù)值。計(jì)算均值(void getMean()):計(jì)算data變量中數(shù)據(jù)的均值,并賦值給mean變量。計(jì)算方差(void getVariance()):計(jì)算data變量中數(shù)據(jù)的方差,并賦值給variance變量。計(jì)算最大值(void getMax()):計(jì)算data變量中數(shù)據(jù)的最大值,并賦值給max變量。計(jì)算最小值
12、(void getMin()):計(jì)算data變量中數(shù)據(jù)的最小值,并賦值給min變量。輸出函數(shù)(void print()):輸出data變量中的數(shù)據(jù)及個(gè)數(shù),并輸出該數(shù)據(jù)的統(tǒng)計(jì)信息(均值(double mean),方差(double variance),最大值(double max),最小值(double min)。程序框架:#include"Cstatistics.h"#include<iostream>using namespace std;int main()cout<<"這是一個(gè)統(tǒng)計(jì)類!"<<endl;Cstati
13、stics sta;sta.input();sta.getMean();sta.getVariance();sta.getMax();sta.getMin();sta.print();system("pause");return 0;答:代碼如下:#pragma once#include<iostream>using namespace std;class Cstatisticspublic:Cstatistics(void);Cstatistics(void);void input();void getMean();getVariance();void get
14、Max();void getMin();void print();private:int N;double* data;double mean;double variance;double max;double min;Cstatistics:Cstatistics()Cstatistics:Cstatistics(void)void Cstatistics:input()cout<<"請(qǐng)輸入數(shù)據(jù)個(gè)數(shù):"cin>>N;if(N > 0)data = new doubleN;cout<<"請(qǐng)輸入"<<N
15、<<"個(gè)數(shù)據(jù):"<<endl;for(int i = 0; i < N; i+)cin>>datai;void Cstatistics:getMean()if(data != NULL )double sum = 0;for(int i = 0; i < N; i+)sum += datai;mean = sum / N;void Cstatistics:getVariance()if(data != NULL )if(mean = 0)getMean();double sum = 0;for(int i = 0; i <
16、; N; i+)sum += (datai - mean) * (datai - mean);variance = sum / N;void Cstatistics:getMax()if(data != NULL)max = data0;for(int i = 1; i < N; i+)if(datai > max)max = datai;void Cstatistics:getMin()if(data != NULL)min = data0;for(int i = 1; i < N; i+)if(datai < min)min = datai;void Cstatis
17、tics:print()cout<<N<<"個(gè)數(shù)據(jù)為:"<<endl;for(int i = 0; i < N; i+)cout<<datai<<" "cout<<endl;cout<<"均值為:"<<mean<<endl;cout<<"方差為:"<<variance<<endl;cout<<"最大值為:"<<max<
18、<endl;cout<<"最小值為:"<<min<<endl;int main()cout<<"這是一個(gè)統(tǒng)計(jì)類!"<<endl;Cstatistics sta;sta.input();sta.getMean();sta.getVariance();sta.getMax();sta.getMin();sta.print();system("pause");return 0;運(yùn)行結(jié)果:3編寫一個(gè)程序計(jì)算出球、圓柱和圓錐的表面積和體積。要求:(1)定義一個(gè)基類圓,至少含有一個(gè)
19、數(shù)據(jù)成員半徑;(2)定義基類的派生類球、圓柱、圓錐,都含有求表面積和體積的成員函數(shù)和輸出函數(shù)。(3)定義主函數(shù),求球、圓柱、圓錐的和體積。答:代碼如下#include <iostream>#include <cstdlib>#include <string>using namespace std;const double PI=3.14159;class circlepublic: void in_rad() cout<<"輸入半徑:"<<endl; cin>>rad; protected: float
20、 rad; /半徑;class ball:public circlepublic: void in_rad() cout<<"輸入球半徑:"<<endl; cin>>rad; void calc_sur() sur=4*PI*rad*rad; void calc_vol() vol=4/3.0*PI*rad*rad*rad; void out_sur() cout<<"球的表面積為:"<<sur<<endl; void out_vol() cout<<"球的體積
21、為:"<<vol<<endl; private: double sur; /表面積 double vol; /體積;/圓柱class column:public circlepublic: void in_rad() cout<<"輸入圓柱半徑:"<<endl; cin>>rad; void in_height() cout<<"輸入圓柱高:"<<endl; cin>>height; void calc_sur() sur=PI*rad*rad+2*
22、PI*rad*height; void calc_vol() vol=PI*rad*rad*height; void out_sur() cout<<"圓柱的表面積為:"<<sur<<endl; void out_vol() cout<<"圓柱的體積為:"<<vol<<endl; private: double sur; /表面積 double vol; /體積 double height; /高;/圓錐class cone:public circlepublic: void in_rad() cout<<"輸入圓錐半徑:"<<endl; cin>>rad; void in_height() cout<<"輸入圓錐高:"<<endl; cin>>height; void calc_sur() sur=0.5*PI*rad*rad*2*PI*rad*height; void calc_vol() vol=1/3.0*PI*rad*rad*heig
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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年度礦產(chǎn)資源勘探開發(fā)合同協(xié)議4篇
- 科技美好生活
- 2025年度商業(yè)街場(chǎng)地施工租賃管理協(xié)議3篇
- 個(gè)人借款公司版協(xié)議范例2024版A版
- 二零二五版窗簾布藝設(shè)計(jì)制作安裝服務(wù)合同2篇
- 2025年體育場(chǎng)館燈光與音響系統(tǒng)優(yōu)化合同4篇
- 2025年度商業(yè)步行街場(chǎng)攤位租賃與品牌推廣合同4篇
- 2025年度智能家居產(chǎn)品試用協(xié)議書范本4篇
- 2025年度休閑農(nóng)業(yè)園區(qū)場(chǎng)地共用服務(wù)合同4篇
- 2025年度產(chǎn)業(yè)園土地租賃與開發(fā)合作協(xié)議4篇
- 2025年中國(guó)高純生鐵行業(yè)政策、市場(chǎng)規(guī)模及投資前景研究報(bào)告(智研咨詢發(fā)布)
- 2022-2024年浙江中考英語(yǔ)試題匯編:完形填空(學(xué)生版)
- 2025年廣東省廣州市荔灣區(qū)各街道辦事處招聘90人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 中試部培訓(xùn)資料
- 硝化棉是天然纖維素硝化棉制造行業(yè)分析報(bào)告
- 央視網(wǎng)2025亞冬會(huì)營(yíng)銷方案
- 北師大版數(shù)學(xué)三年級(jí)下冊(cè)豎式計(jì)算題100道
- 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)全套教學(xué)課件
- 屋頂分布式光伏發(fā)電項(xiàng)目施工重點(diǎn)難點(diǎn)分析及應(yīng)對(duì)措施
- 胃鏡下超聲穿刺護(hù)理配合
- 2024解析:第三章物態(tài)變化-基礎(chǔ)練(原卷版)
評(píng)論
0/150
提交評(píng)論