久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

C++程序設(shè)計(jì)實(shí)習(xí)報(bào)告

時(shí)間:2019-05-12 13:16:46下載本文作者:會(huì)員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《C++程序設(shè)計(jì)實(shí)習(xí)報(bào)告》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《C++程序設(shè)計(jì)實(shí)習(xí)報(bào)告》。

第一篇:C++程序設(shè)計(jì)實(shí)習(xí)報(bào)告

目錄

一、實(shí)習(xí)內(nèi)容…………………………………………………………………………1

二、設(shè)計(jì)思路…………………………………………………………………………2

三、程序清單…………………………………………………………………………3

四、運(yùn)行結(jié)果…………………………………………………………………………15

五、程序使用說明……………………………………………………………………20

六、總結(jié)及心得體會(huì)…………………………………………………………………21

課程設(shè)計(jì)的題目:《小型公司工資管理系統(tǒng)》設(shè)計(jì)

設(shè)計(jì)說明:公司主要有四類人員:經(jīng)理、技術(shù)員、銷售員、銷售經(jīng)理。程序要求存儲(chǔ)這些人的職工號(hào)、姓名、月工資、年齡、性別等信息。并且應(yīng)用程序中要求給出菜單,用于選擇各項(xiàng)功能。

一、程序要求實(shí)現(xiàn)的功能即菜單目錄有:

1、數(shù)據(jù)輸入:輸入各種數(shù)據(jù);

2、數(shù)據(jù)統(tǒng)計(jì):統(tǒng)計(jì)各銷售經(jīng)理下屬銷售員的銷售額及銷售額之和;銷售經(jīng)理工資進(jìn)行冒泡排序;

3、數(shù)據(jù)打印:打印各類員工的數(shù)據(jù)信息;

4、數(shù)據(jù)備份:把各類員工的數(shù)據(jù)信息寫入文件中保存;

5、退出:退出本系統(tǒng),即結(jié)束程序的運(yùn)行。

二、工資的計(jì)算方法

A:經(jīng)理:固定月薪為8000元;B:技術(shù)員:工作時(shí)間*小時(shí)工資(100元/小時(shí));C:銷售員:銷售額* 4%提成;D:銷售經(jīng)理:底薪(5000)+所轄部門銷售額總額* 0.5%。

三、類的層次結(jié)構(gòu)大體如下

雇員類

技術(shù)員類

經(jīng)理類

銷售員類

↓ 銷售經(jīng)理類

二、設(shè)計(jì)思路

1.(1)首先我們要搞清楚各類之間的繼承關(guān)系,設(shè)置基類employee,其派生類manager,technician,salesman。再以manager類為基類,再派生一個(gè)salesmanager類,將各類的數(shù)據(jù)成員設(shè)計(jì)成protected,方便派生類對(duì)基類的繼承;

(2)在public里編寫數(shù)據(jù)輸入的函數(shù),在主函數(shù)中輸出菜單并定義各類的對(duì)象,通過對(duì)象來調(diào)用數(shù)據(jù)輸入函數(shù); 2.

(1)在基類employee中補(bǔ)充幾個(gè)返回各類數(shù)據(jù)的函數(shù)以用于返回輸入的各類值;

(2)在主函數(shù)內(nèi)用冒泡法對(duì)銷售經(jīng)理的工資進(jìn)行排序,定義一個(gè)wage[]來將各銷售經(jīng)理下面的銷售員的銷售額進(jìn)行儲(chǔ)存,定義一個(gè)all用于計(jì)算銷售經(jīng)理的銷售總額,以便于下面對(duì)其進(jìn)行工資的計(jì)算 ;

(3)第2,3,4步都用大量的for循環(huán)進(jìn)行輸出,以實(shí)現(xiàn)表格的形成還有表格中數(shù)據(jù)的輸入;在主函數(shù)內(nèi)定義各類的對(duì)象,然后都是直接通過類的對(duì)象調(diào)用類內(nèi)的函數(shù),運(yùn)用for循環(huán)進(jìn)行打印,統(tǒng)計(jì); 3.

備份參照課本格式,選擇路徑及格式,運(yùn)用for循環(huán)備份;就是那個(gè)fstream之類的東西;、退出系統(tǒng)用exit(5)函數(shù)實(shí)現(xiàn);

4.主函數(shù)運(yùn)用switch語句,將上述功能編為case 1~5,每個(gè)case后添加break;5.程序結(jié)束。

以上是我所認(rèn)為的該程序的幾個(gè)要點(diǎn)…………………………………..三、程序清單

#include #include #include #include #include using namespace std;const N=2;fstream outfile;class employee

//基類,雇傭者 { protected:

string name;char sex;int age;public:

virtual void display()

{

cout<<“其姓名:”;

cin>>name;cout<<“性別(m/w):”;cin>>sex;cout<<“年齡:”;

cin>>age;} string nam(){return name;} char se(){return sex;} int ag(){return age;} };

// class technician: public employee

//技術(shù)員類 { public:

int worktime;int number1;public:

void display1()

{

} int time(){return worktime;} int numb1(){return number1;} cout<<“技術(shù)員的編號(hào):”;cin>>number1;employee::display();cout<<“工作時(shí)間”;cin>>worktime;};

// class manager : public employee

//經(jīng)理類 {protected:

int number2;

public:

void display2(){

} int numb2(){return number2;} cout<<“經(jīng)理的編號(hào):”;cin>>number2;employee::display();};

// class salesman : public employee

//銷售員類 { protected:

int total;int boss;int number3;public:

};

//

class salesmanager : public manager

//銷售經(jīng)理類 {protected:

int number4;public: void display4(){ void display3(){

cout<<“銷售員的編號(hào):”;cin>>number3;employee::display();

cout<<“銷售額:”;

} int hismanager(){return boss;} int xiaoshoue(){return total;} int numb3(){return number3;} cin>>total;cout<<“所屬銷售經(jīng)理的編號(hào):”;cin>>boss;

cout<<“銷售經(jīng)理的編號(hào):”;

cin>>number4;

employee::display();} int numb4(){return number4;} };

//

void form(){ cout<<“★★小型公司工資管理系統(tǒng)★★”<

請(qǐng)選擇您所需的操作

│”<

數(shù)據(jù)輸入:1,并按回車鍵 │”<

數(shù)據(jù)統(tǒng)計(jì):2,并按回車鍵 │”<

數(shù)據(jù)打印:3,并按回車鍵 │”<

數(shù)據(jù)備份:4,并按回車鍵 │”<

退出系統(tǒng):5,并按回車鍵 │”<

int main(){ int i,j,k,g,m,all,t;

char shuzi;

int wage[N];

technician t1[N];

//提示表格

manager m1[N];

salesman s1[2*N],s2[2*N];

salesmanager sm1[N],f;

for(t=1;;t++){

form();cin>>shuzi;switch(shuzi){ case '1':{

//功能1

for(i=0;i

t1[i].display1();cout<<“.......................................”<

for(i=0;i

m1[i].display2();cout<<“.......................................”<

for(i=0;i<2*N;i++)

s1[i].display3();cout<<“.......................................”<

for(i=0;i

sm1[i].display4();cout<<“.......................................”<

//功能2 for(i=0;i

cout<<“│職工號(hào)

│姓名

│銷售額

│”<

for(m=0;m<2*N;m++){if(s1[m].hismanager()==sm1[i].numb4()){ wage[i]=wage[i]+0.005*(s1[m].xiaoshoue());all=all+s1[m].xiaoshoue();

cout<<“├─────┼────┼─────┤”<

cout<<“├─────┼────┴─────┤”<

cout<<“│銷售額總計(jì)│”<

for(j=0;j

for(k=0;k

if(wage[k]

//冒泡

wage[k]=wage[k+1];wage[k+1]=t;f=sm1[k];sm1[k]=sm1[k+1];sm1[k+1]=f;} cout<<“銷售經(jīng)理按工資排序?yàn)椋骸?

│姓名

│性別

│年齡

│工資

│”<

”<

│”<

break;

//功能3 case '3': cout<<“請(qǐng)等待............”<

cout<<“┌─────┬────┬────┬────┬────┐”<

cout<<“│職工號(hào)

│姓名

│性別

│年齡

│工資

│”<

for(i=0;i

”<

│”<

cout<<”.......................................................“<

cout<<”┌─────┬────┬────┬────┬────┐“<

cout<<”│職工號(hào)

│姓名

│性別

│年齡

│工資

│“<

for(i=0;i

“<

│“<

} cout<<”└─────┴────┴────┴────┴────┘“<

//經(jīng)理表

cout<<”.......................................................“<

cout<<”┌─────┬────┬────┬────┬────┐“<

cout<<”│職工號(hào)

│姓名

│性別

│年齡

│工資

│“<

for(g=0;g

cout<<”├─────┼────┼────┼────┼────┤“<

cout<<”

“<

“<

││“<

cout<<”└─────┴────┴────┴────┴────┘“<

//銷售經(jīng)理表

cout<<”銷售員“<

cout<<”┌─────┬────┬────┬────┬────┬────────┐“<

cout<<”│職工號(hào)

│姓名

│性別

│年齡

│工資

│所屬部門經(jīng)理編號(hào)│“<

for(i=0;i<(2*N);i++){ cout<<”├─────┼────┼────┼────┼────┼────────┤“<

“<

│“<

────────┘“<

//經(jīng)理表 cout<<”...............................................................................“<

break;case '4': cout<<”數(shù)據(jù)備份“<

outfile.open(”E:sjq.txt“,ios::in|ios::out|ios::trunc);

outfile<<”技術(shù)員“<

outfile<<”┌─────┬────┬────┬────┬────┐“<

outfile<<”│職工號(hào)

│姓名

│性別

│年齡

│工資

│“<

for(i=0;i

“<

│“<

outfile<<”.......................................................“<

outfile<<”┌─────┬────┬────┬────┬────┐“<

outfile<<”│職工號(hào)

│姓名

│性別

│年齡

│工資

│“<

for(i=0;i

“<

“<

││“<

} outfile<<”└─────┴────┴────┴────┴────┘“<

//經(jīng)理表

outfile<<”.......................................................“<

outfile<<”┌─────┬────┬────┬────┬────┐“<

outfile<<”│職工號(hào)

│姓名

│性別

│年齡

│工資

│“<

for(g=0;g

{

outfile<<”├─────┼────┼────┼────┼────┤“<

outfile<<”

“<

“<

││“<

outfile<<”└─────┴────┴────┴────┴────┘“<

//銷售經(jīng)理表 outfile<<”銷售員“<

outfile<<”┌─────┬────┬────┬────┬────┬────────┐“<

outfile<<”│職工號(hào)

│姓名

│性別

│年齡

│工資

│所屬部門經(jīng)理編號(hào)│“<

for(i=0;i<(2*N);i++){ outfile<<”├─────┼────┼────┼────┼────┼────────┤“<

“<

│“<

┴────────┘“<

//經(jīng)理表

outfile<<”...............................................................................“<

case '5':cout<<”確定退出系統(tǒng)嗎?“<

cout<<”是:1,否:2“<>a;if(a==1)exit(5);break;

default :cout<<”error"<

} return 0;} }

四、運(yùn)行結(jié)果

數(shù)據(jù)備份內(nèi)容…………………………………………….1.從鍵盤輸入1,按回車鍵,可進(jìn)行各類數(shù)據(jù)的輸入,此步驟必須執(zhí)行; 2.從鍵盤輸入2,按回車鍵,即可進(jìn)行數(shù)據(jù)統(tǒng)計(jì),得到統(tǒng)計(jì)列表; 3.從鍵盤輸入3,按回車鍵,可打印出各類成員的基本信息; 4.從鍵盤輸入4,按回車鍵,可進(jìn)行數(shù)據(jù)備份;

5.從鍵盤輸入5,按回車鍵,出現(xiàn)提示信息,若退出系統(tǒng)輸入1否則輸入2。

六、總結(jié)及心得體會(huì)

從9月2號(hào),我們開始了為期一周的C++程序設(shè)計(jì)實(shí)習(xí)——《小型工資管理系統(tǒng)》,每天下午去機(jī)房調(diào)試程序,上午編寫下一天的程序代碼。

剛開始的時(shí)候,腦袋里一點(diǎn)思路都沒有,因?yàn)橐郧皼]有接觸過這么大的程序。所以剛開始的時(shí)候,心里只有一個(gè)字能形容就是怕。怕自己便不好,怕這門課程完成不了,很多很多。去做一件事情,最忌諱的就是這一點(diǎn)。失敗者和成功者最大的區(qū)別就是面對(duì)困難時(shí)的心態(tài),我深知這一點(diǎn)。所以,我沉下心來思考了很多。做一個(gè)程序,最重要的就是大體思路,得有全局的思考,我承認(rèn),這一點(diǎn)我做的不是很好,因?yàn)槲业?天的程序做了大改動(dòng),也許是我基本功不扎實(shí),但是我所能想到的就是大改動(dòng)了,可能有其他簡便的方法,所以這對(duì)于我而言,是一個(gè)重大的警告。在第二天的晚上,我花了一晚的時(shí)間來重新整理思路,以防止在接下來的幾天里再出現(xiàn)那樣的錯(cuò)誤,那就很讓人糾結(jié)了。第1天時(shí)完成數(shù)據(jù)的輸入以及類的設(shè)計(jì)。這個(gè)還不是很難,就是定義一個(gè)基類employee,然后派生下來幾個(gè)子類。然后在類內(nèi)編寫返回值的函數(shù),以及數(shù)據(jù)輸入的函數(shù)等等,數(shù)據(jù)成員都設(shè)置成protected。在類外在編幾個(gè)數(shù)組,用來調(diào)用類內(nèi)函數(shù)。

第2天是完成數(shù)據(jù)統(tǒng)計(jì),排序功能。排序的話用冒泡法,用數(shù)組進(jìn)行數(shù)據(jù)的排序。但是問題出現(xiàn)了,第一天我是把輸入功能獨(dú)立變成一個(gè)void函數(shù)在主函數(shù)前面的,但是我發(fā)現(xiàn)數(shù)據(jù)無法存儲(chǔ)下來。所以第2天我就把第一步的內(nèi)容全改了,搬到了類內(nèi),這樣才解決了問題。

第三天時(shí)完成數(shù)據(jù)的輸出顯示,這個(gè)地方的難點(diǎn)就是設(shè)計(jì)表格,這個(gè)就涉及到了那個(gè)輸入內(nèi)容寬度的設(shè)計(jì),以及制表鍵盤的。然后數(shù)據(jù)的輸出就是在主函數(shù)內(nèi)定義類對(duì)象數(shù)組,以此來實(shí)現(xiàn)數(shù)據(jù)的調(diào)用。

然后剩下的就是備份以及推出功能的實(shí)現(xiàn)了。這些都是在網(wǎng)上查了相關(guān)資料然后學(xué)會(huì)如何編寫的,剛開始覺得很深?yuàn)W,學(xué)了之后,就覺得,嗯,還行。所以其他的任務(wù)在半天內(nèi)就完成了。看著自己編出的程序,真心覺得一切都值了,很有成就感的樣子,我想這就是編程員的歡喜吧。整個(gè)實(shí)習(xí)過程讓我明白了幾點(diǎn):

1.設(shè)計(jì)一個(gè)程序時(shí)需要從整體考慮,不能分散到最后結(jié)合不到一起; 2.有些貌似簡單的功能的實(shí)現(xiàn)其程序?qū)崿F(xiàn)不一定簡單,但也不能畏首畏尾,不敢嘗試,要勇于挑戰(zhàn)自己,相信自己一定可以; 3.

1.需要具有刻苦鉆研的精神,注意總結(jié),遇到問題認(rèn)真思考,力求得到結(jié)果; 2.同時(shí)也不能忽略團(tuán)隊(duì)的力量,遇到實(shí)在個(gè)人解決不了的問題可以通過與同學(xué)商量解決,并且結(jié)合別人和自己的觀點(diǎn),從多方面考慮,在眾多方案中找出最優(yōu)化的;

3.遇到一些問題時(shí)要有耐心進(jìn)行更正,因?yàn)榭赡苡袝r(shí)候一個(gè)很小的錯(cuò)誤會(huì)導(dǎo)致整個(gè)程序運(yùn)行失常。

我感覺這一周的實(shí)習(xí)非常充實(shí),謝謝這一周給我指導(dǎo)的老師,以及各位同學(xué)的陪伴。

第二篇:C++程序設(shè)計(jì)總結(jié)

第一章面向?qū)ο缶幊淘?/p>

?近五十年間,軟件技術(shù)經(jīng)歷了多個(gè)階段的發(fā)展演變 ? 目前為止最流行的技術(shù)還是面向過程編程(POP)

? 面向過程編程采用了自頂向下的設(shè)計(jì)方案,問題被看做多個(gè)執(zhí)行任務(wù)的序列。為完成這些任務(wù),須實(shí)現(xiàn)一些函數(shù)。

? 面向過程有兩大不足,即:(1)數(shù)據(jù)可在程序內(nèi)自由遷移,程序內(nèi)任何函數(shù)都會(huì)引起數(shù)據(jù)的更改,增加了數(shù)據(jù)的脆弱性。(2)它并不能很好地建模現(xiàn)實(shí)世界。

? 為了克服面向過程編程中的不足,人們發(fā)明了面向?qū)ο缶幊蹋∣OP)。它采用自底向上的編程方案,在程序開發(fā)中,把數(shù)據(jù)視為重要元素,不允許數(shù)據(jù)在系統(tǒng)內(nèi)自由遷移。它還將數(shù)據(jù)和函數(shù)緊密綁定于成為類的數(shù)據(jù)結(jié)構(gòu)中,函數(shù)可操作類中的數(shù)據(jù)。此特性稱為數(shù)據(jù)封裝。

? 在面向?qū)ο缶幊讨校瑔栴}被視為一系列稱為對(duì)象的實(shí)體的集合。對(duì)象是類的實(shí)例; ? 將數(shù)據(jù)與程序的直接訪問隔絕,這稱為數(shù)據(jù)隱藏。

? 數(shù)據(jù)抽象指的是,將各種必要特性合并,而不引入背景細(xì)節(jié)。? 繼承是這樣的一個(gè)過程,即某類的對(duì)象得到另一類對(duì)象的屬性。

? 多態(tài)指的是,一個(gè)名稱,多種形態(tài)。在程序中,我們可以借此定義多個(gè)同名函數(shù)。此特性亦可重載運(yùn)算符,這樣一來,同一個(gè)運(yùn)算符在不同的實(shí)例下,會(huì)有不同的行為。? 動(dòng)態(tài)綁定指的是,給定過程的代碼,直到運(yùn)行期被調(diào)用時(shí)才確定。? 消息傳遞涉及對(duì)象名,函數(shù)(消息)名以及發(fā)送的信息。

? 與傳統(tǒng)的編程技術(shù)相比,面向?qū)ο蠹夹g(shù)具有諸多優(yōu)勢——最顯著的當(dāng)屬重用技術(shù)。? 在實(shí)時(shí)系統(tǒng)等幾乎所有的計(jì)算機(jī)領(lǐng)域,面向?qū)ο缶幊痰膽?yīng)用程序都已受到重視。? 不少語言都支持面向?qū)ο缶幊蹋餍械恼Z言包括C++、Smalltalk和Java。

第二章C++入門

? C++是C語言的超級(jí)

? C++在C語言的基礎(chǔ)上,添加了一些面向?qū)ο蟮奶匦裕T如對(duì)象、繼承、函數(shù)重載和運(yùn)算符重載。這些特性加強(qiáng)了程序的清晰性,可擴(kuò)展性,使程序容易維護(hù)。

? C++可用于開發(fā)各種系統(tǒng),諸如編輯器、編譯器、數(shù)據(jù)庫、通信系統(tǒng)以及其他更多復(fù)雜的實(shí)際系統(tǒng)。

? C++支持交互式輸入輸出,并引入了新的注釋符號(hào)//,可用于注釋單句。它也支持C語言的注釋風(fēng)格。

? 和C程序一樣,所有C++程序的執(zhí)行入口都是main()函數(shù),并以return()語句作為結(jié)束。頭文件iostream應(yīng)包含于所有使用輸入輸出操作的程序開頭。? 所有標(biāo)準(zhǔn)C++程序都要包含using namespace std指令

? 典型的C++程序包括四個(gè)基本部分:也就是頭文件包含部分、類聲明部分、成員函數(shù)部分和主程序部分

? 和C程序一樣,C++程序可用于任何文本編輯器創(chuàng)建

? 大多數(shù)編譯器提供了集成開發(fā)運(yùn)行環(huán)境。流行的編譯器系統(tǒng)有UNIX AT&T C++、Turbo C++和微軟公司的Visual C++

第三章符號(hào)、表達(dá)式和控制結(jié)構(gòu)

? C++有不同的符號(hào),包括關(guān)鍵字、標(biāo)識(shí)符、常量、字符串和操作符 ? 標(biāo)識(shí)符指的是變量名、函數(shù)名、數(shù)組名、類名等 ? C++中增加了void的一個(gè)用途,可用于聲明通用指針

? C++中枚舉數(shù)據(jù)類型略有不同,枚舉類型名稱為新的類型名。這樣我們就可以聲明枚舉類型的變量

? 在C++中,字符數(shù)組的大小應(yīng)比字符串的實(shí)際長度大1 ? C++增加了指針常量和常量指針的概念,對(duì)于前者我們不能修改賦予它的地址值,對(duì)于后者,我們不能修改它指向的內(nèi)容。

? 在C++的內(nèi)存管理和多態(tài)實(shí)現(xiàn)中,指針被廣泛地使用。

? C++中提供了const修飾符,用于聲明常量,常量也是變量,只是其值不可變更。const修飾符默認(rèn)修飾整型。

? C++的變量類型檢查非常嚴(yán)格,它不允許不同類型變量之間的賦值。類型轉(zhuǎn)換是打破此規(guī)的唯一辦法。

? C++允許我們在程序中隨處聲明變量,而且可以利用聲明處的表達(dá)式,在運(yùn)行期完成初始化。

? 引用變量給之前定義的變量提供了一個(gè)別名。它們都指向內(nèi)存中的同一個(gè)數(shù)據(jù)對(duì)象。所以,改變其中一個(gè)的值,另一邊量的值也會(huì)隨之改變。

? 引用變量必須在聲明時(shí)初始化,這建立了它和要引用的變量之間的對(duì)應(yīng)關(guān)系。? 作用于解析操作符(::)的主要用于類,以識(shí)別成員函數(shù)所屬的類

? 除了malloc()、calloc()、free()函數(shù)外,C++提供了兩個(gè)一元操作符,即new和delete,以更好和更方便地分配和釋放內(nèi)存

? C++也提供了操縱器,來格式化輸出數(shù)據(jù)。最常用的操縱器為endl和setw ? C++支持七種表達(dá)式類型。表達(dá)式中數(shù)據(jù)類型混用時(shí),C++使用特定規(guī)則,自動(dòng)地進(jìn)行類型轉(zhuǎn)換。

? 使用類型轉(zhuǎn)換操作符,C++也可顯示地進(jìn)行變量和表達(dá)式的類型轉(zhuǎn)換

? 和C語言一樣,C++也支持三種基本的控制結(jié)構(gòu),也就是順序結(jié)構(gòu),分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu),并使用各種控制語句實(shí)現(xiàn)它們,比如if、if…else、switch、do…while、while以及for。

第四章C++中的函數(shù)

? 在程序的不同處,調(diào)用函數(shù)可減少程序的大小。

? 在C++中,main()函數(shù)向操作系統(tǒng)返回一個(gè)整型值。因?yàn)楹瘮?shù)的返回值類型默認(rèn)是整型,所以main()函數(shù)中的關(guān)鍵字int是可選的。而如果沒有返回語句,大部分C++編譯器會(huì)提示一個(gè)警告。

? 函數(shù)原型向編譯器提供了函數(shù)的細(xì)節(jié),比如參數(shù)的數(shù)目和類型,以及返回值的類型。? C++的引用變量使我們可以傳引用參數(shù)給函數(shù)。函數(shù)也可以返回引用變量。

? 當(dāng)函數(shù)聲明為內(nèi)聯(lián)時(shí),編譯器用相應(yīng)的函數(shù)代碼替換了函數(shù)調(diào)用。一般情況下,小函數(shù)才使用內(nèi)聯(lián)。

? 編譯器可能會(huì)忽略函數(shù)的內(nèi)聯(lián)聲明,如果函數(shù)聲明太長或過于復(fù)雜,編譯器將按常規(guī)函數(shù)編譯它。

? 當(dāng)函數(shù)聲明時(shí),C++允許我們把默認(rèn)值賦給函數(shù)參數(shù)。這種情況下,我們可以無需指明所有參數(shù),便可調(diào)用函數(shù)。默認(rèn)參數(shù)總是由右到左添加。? C++中,函數(shù)的參數(shù)可聲明為常量,表示函數(shù)不可更改此變量。

? C++允許函數(shù)重載,也就是說,我們可以定義多個(gè)同名函數(shù)。通過檢查參數(shù)數(shù)目和類型編譯器會(huì)準(zhǔn)確地匹配函數(shù)調(diào)用和函數(shù)代碼。

? C++支持兩種新的函數(shù)類型,亦即友元函數(shù)和虛函數(shù)。

? C++標(biāo)準(zhǔn)庫支持很多數(shù)學(xué)庫函數(shù),使用它們可以完成許多數(shù)學(xué)計(jì)算。

第五章 類和對(duì)象

? 類是結(jié)構(gòu)體數(shù)據(jù)類型的擴(kuò)展,一個(gè)類有多個(gè)成員變量和成員函數(shù)。? 默認(rèn)情況下,類的成員是私有的,而結(jié)構(gòu)體的成員是公用的。

? 只有成員函數(shù)可以訪問私有數(shù)據(jù)成員和私有函數(shù)。但是類外可以訪問公用成員。? 在C++中,類變量稱為對(duì)象。利用對(duì)象并使用點(diǎn)操作符,我們可以訪問類的公用成員。? 我們可以在類內(nèi)或類外定義成員函數(shù)。成員函數(shù)和常規(guī)函數(shù)的區(qū)別在于,成員函數(shù)的頭

部有一個(gè)隸屬標(biāo)識(shí)符,以表明所屬類。

? 對(duì)象聲明時(shí),內(nèi)存空間才會(huì)分配。每一對(duì)象的成員變量空間單獨(dú)分配,而成員函數(shù)的空間則統(tǒng)一分配。

? 類的一個(gè)成員變量可聲明為靜態(tài)成員,一般用于維護(hù)整個(gè)類的通用值。? 靜態(tài)成員變量必須定義于類外。

? 靜態(tài)成員函數(shù)可訪問聲明在同類的靜態(tài)成員,調(diào)用靜態(tài)成員函數(shù)時(shí)需要用到類名。? C++允許我們使用對(duì)象數(shù)組。? 對(duì)象可用作函數(shù)自變量。

? 友元函數(shù)不在友元聲明類的作用域類,它可以訪問累的所有私有數(shù)據(jù)。? 函數(shù)可以返回對(duì)象。

? 如果成員函數(shù)不改變類內(nèi)的任何數(shù)據(jù),我們可以將其聲明為常量成員函數(shù),只要在函數(shù)原型中加上關(guān)鍵詞const(聲明和定義都要加)。

? 我們也可以在函數(shù)內(nèi)定義和使用類。這種類稱為局部類。

第六章構(gòu)造函數(shù)和析構(gòu)函數(shù)

? C++提供了一種稱為構(gòu)造函數(shù)的特殊成員函數(shù),它能幫助對(duì)象在創(chuàng)建時(shí)完成初始化。這一過程被稱為對(duì)象的自動(dòng)初始化。? 構(gòu)造函數(shù)名和類名一致。

? 構(gòu)造函數(shù)通常用來初始化變量,以及分配內(nèi)存。? 和常規(guī)函數(shù)一樣,構(gòu)造函數(shù)也可以被重載。

? 當(dāng)對(duì)象同時(shí)被創(chuàng)建和初始化時(shí),復(fù)制構(gòu)造函數(shù)被調(diào)用。? 我們可以聲明一個(gè)常量對(duì)象,其數(shù)據(jù)值不能改變。

? C++還提供另一種成員函數(shù),稱為析構(gòu)函數(shù)。當(dāng)對(duì)象不再需要時(shí),會(huì)調(diào)用這種函數(shù)來銷毀對(duì)象。

第七章運(yùn)算符重載和類型轉(zhuǎn)換

? 運(yùn)算符重載是C++的重要特性之一。又被稱為編譯時(shí)多態(tài)性。

? 使用重載特性,我們可以對(duì)兩個(gè)用戶自定義數(shù)據(jù)類型,比如說對(duì)象,執(zhí)行相加的操作,使用的語法就和基本數(shù)據(jù)類型一樣。

? 我們可以重載幾乎所有C++的運(yùn)算符,下面幾個(gè)是例外:

? 類成員訪問符(.,.*)。? 作用域解析符(::)。

? 大小運(yùn)算符(sizeof)。? 條件運(yùn)算符(?:)。

? 運(yùn)算符重載是通過一種稱為運(yùn)算符函數(shù)的特殊函數(shù)完成的,該函數(shù)定義了運(yùn)算符的特定任務(wù)。

? 運(yùn)算符重載時(shí)有一些限制。運(yùn)算符函數(shù)必須是非靜態(tài)的成員函數(shù)或者友元函數(shù)。重載的運(yùn)算符必須有至少一個(gè)用戶自定義類型的操作數(shù)。

? 編譯器不支持用戶自定義數(shù)據(jù)類型的自動(dòng)類型轉(zhuǎn)換,我們可以使用自定義的轉(zhuǎn)換運(yùn)算符函數(shù),以實(shí)現(xiàn)自定義數(shù)據(jù)類型的自動(dòng)類型轉(zhuǎn)換。? 轉(zhuǎn)換運(yùn)算符函數(shù)應(yīng)符合下列條件:

? 必須是類成員。? 必須不指定返回值。? 必須沒有參數(shù)。

第八章繼承:類的擴(kuò)展

? 從舊類派生一個(gè)新類的機(jī)制被稱為繼承。繼承提供了可重用性的概念。通過繼承,C++的類可以被重用。

? 派生類繼承了基類的一部分或所有特性。? 只有一個(gè)基類的派生類被稱為單繼承。? 可從多個(gè)類繼承,這被稱為多繼承。? 可從另一派生類繼承類,這被稱為多級(jí)繼承。

? 當(dāng)某類的屬性被多于一個(gè)類繼承時(shí),這被稱為層次繼承。? 不管是在公用模式還是私有模式,類的私有成員都不可被繼承。

? 以公用模式繼承的保護(hù)成員仍為派生類的保護(hù)成員,而以私有模式繼承的保護(hù)成員,則變成派生類的私有成員。

? 友元函數(shù)和友元類的成員函數(shù)可直接訪問私有和保護(hù)數(shù)據(jù)。

? 派生類的成員函數(shù)只能直接訪問保護(hù)和公用數(shù)據(jù)。不過他們可通過基類的成員函數(shù)訪問私有數(shù)據(jù)。

? 多路繼承可能引起祖父基類的繼承成員的重復(fù)。通過將共同的基類設(shè)為虛基類,我們可以避免祖父基類成員的重復(fù)。

? 在多繼承中,基類的創(chuàng)建次序與他們在派生類中的聲明次序一致。? 類可包含其他類的對(duì)象。這被稱為包含關(guān)系或嵌套。

第三篇:《C++程序設(shè)計(jì)》實(shí)驗(yàn)報(bào)告范例

注意:以下藍(lán)色文字部分根據(jù)情況增刪

實(shí)驗(yàn)1熟悉VC++6.0集成開發(fā)環(huán)境

一、實(shí)驗(yàn)時(shí)間:

2011年9月20日

二、實(shí)驗(yàn)地點(diǎn):

第7機(jī)房

三、指導(dǎo)教師:

鄧譜

四、實(shí)驗(yàn)?zāi)康模?/p>

1.了解VC++6.0的主要特點(diǎn);

2.熟悉VC++6.0的集成開發(fā)環(huán)境;

3.學(xué)習(xí)用VC++6.0編寫簡單的C++應(yīng)用程序,掌握C++程序的上機(jī)調(diào)試步驟。

五、實(shí)驗(yàn)內(nèi)容:

1.P19 第1題:在屏幕上輸出字符串“歡迎大家學(xué)習(xí)VC++6.0!”

? 【編程思想】

? 【流程圖】

? 【源程序】見上機(jī)作業(yè)“實(shí)驗(yàn)11_11_1.cpp”

問題1:不知道如何在VC++6.0里輸入源程序

解決方法:

(1)首先建立“Win32 Console Application”工程;

(2)再向工程中添加源文件;

(3)在添加的源文件中輸入代碼。

以上的詳細(xì)操作流程見“Visual C++ 6.0集成開發(fā)環(huán)境.doc”文件。

問題2:error LNK2001: unresolved external symbol _WinMain@16:連接錯(cuò)誤2001:未解決的外部符號(hào)_WinMain@16

問題原因:創(chuàng)建工程時(shí)選的創(chuàng)建“Win32 Application”,這是創(chuàng)建圖形用戶界面的C++工程,而程序是字符界面,兩者不一致導(dǎo)致該錯(cuò)誤。

解決方法:創(chuàng)建工程時(shí)應(yīng)選“Win32 Console Application”

問題3:error C1010: unexpected end of file while looking for precompiled header directive:錯(cuò)誤C1010:在查找預(yù)編譯頭時(shí)遇到意外的文件結(jié)尾。

問題原因:在選擇創(chuàng)建工程種類時(shí)選擇了“a simple application”,該工程還包含stdafx..h和stdafx..cpp兩個(gè)文件,這兩個(gè)文件是為編譯系統(tǒng)進(jìn)行預(yù)編譯服務(wù)的,需要在源程序開始部分使用#include “stdafx.h”進(jìn)行引用,如果未進(jìn)行引用,會(huì)導(dǎo)致該錯(cuò)誤。

解決方法1:在選擇創(chuàng)建工程種類時(shí)選擇第一項(xiàng)“an empty project”

解決方法2:如果工程文件列表中(窗口左邊)有stdafx..h和stdafx..cpp兩個(gè)文件,則源程序開始要使用#include “stdafx.h”進(jìn)行引用。

問題4:error C2143: syntax error : missing ';' before '}':錯(cuò)誤C2143:語法錯(cuò)誤:在'}'之前丟失了';'

問題5:……

2.P19 第2題:求兩個(gè)整數(shù)之和

……

六、實(shí)驗(yàn)總結(jié):

(將實(shí)驗(yàn)過程中或?qū)W習(xí)本章節(jié)的上機(jī)過程中值得記錄的內(nèi)容按1.2.3.分條寫下來)

第四篇:c++程序設(shè)計(jì)教案(朱紅)

1構(gòu)造一個(gè)類,含有3個(gè)數(shù)據(jù)成員,為長方體的長、寬、高,含有一個(gè)成員函數(shù),用來計(jì)算長方體的體積 #include “stdafx.h” #include class cub { private: double a,b,c;public: void setabc(double,double,double);double volu(void);};void cub::setabc(double x,double y,double z){a=x;b=y;c=z;} double cub::volu(void){return a*b*c;} void main(){ cub cuba;cuba.setabc(3,4,5);cout<<“cuba的體積為:”< class cub { private: double a,b,c;public: void setabc(double x,double y,double z){

a=x;b=y;c=z;} double volu(void){

return a*b*c;} };int main(int argc, char* argv[]){

cub cuba;cuba.setabc(3,4,5);cout<<“cuba的體積為:”< class stu { private: double a,b,c;public: void setabc(double x,double y,double z){

a=x;b=y;c=z;} double average(void){

return(a+b+c)/3;} void show(void){

cout<<“數(shù)學(xué)、物理、英語成績分別是:”<

cout<<“平均成績是:”<

stu Yin;Yin.setabc(80,81,82);cout<<“張三的成績表:”< #define pI 3.14 class circle { private: double radius;public: circle(double x=0){radius=x;} circle(circle &t)

//拷貝

{ radius=t.radius;} double peri(void){return 2*pI*radius;} double area(void){return pI*radius*radius;}

void show(void){cout<<“圓形的半徑為:”<

cout<<“圓形的周長為:”<

cout<<“圓形的面積為:”<

cout<<“circlea的參數(shù)是:”<

circle circlea(3);circle circleb(circlea);

circlea.show();

cout<<“circleb的參數(shù)是:”< #include class Rect { public: double a,b;Rect(double x,double y){

a=x;b=y;

} double area(void){

return a*b;} void showA(void){

cout<<“長方形的邊長是:”<

cout<<“長方形的面積是:”<

class Cub:public Rect { private: double H;public: Cub(double x,double y,double h):Rect(x,y){H=h;} double volume(){return area()*H;} double Aarea()//表面積

{return(2*a*b+2*b*H+2*b*H);} void showB(void){

cout<<“長方體的高是:”<

cout<<“長方體的表面積是:”<

cout<<“長方體的體積是:”<

void main(int argc, char* argv[]){

Cub abc(3,4,4);cout<<“長方形的參數(shù)是:”<

a=x;b=y;r=z;} double area1()//圓的面積

{

return PI*r*r;

} double area2(){

return a*b;}

//長方形面積

void showA(){

cout<<“圓的半徑為”<

cout<<“圓的面積為”<

cout<<“長方形的邊長為”<

cout<<“長方形的面積為”<

class sphere:public shape

//圓類 {

public: sphere(double z):shape(0,0,z)

{

}

double Aarea1()

{

return 4*PI*r*r;

}

double volume1()

{

return(4*PI*r*r*r)/3;

}

void showC(void)

{

cout<<“球的表面積為:”<

cout<<“球的體積為:”<

}

};class cube:public shape

//長方體類

{ private:

double h;public:

cube(double x,double y,double z):shape(x,y,z)

{ h=z;}

double Aarea2()

{

return 2*(a*b+a*h+b*h);

}

double volume2()

{

return area2()*h;

}

void showD(void)

{

cout<<“長方體的高為:”<

cout<<“長方體的表面積為:”<

cout<<“長方體的體積為:”<

}

};

void main(int argc, char* argv[]){

sphere yuan(1);

cout<<“球類的參數(shù)是:”<

yuan.showA();

//abc.showB();

yuan.showC();

cube chang(1,2,3);

cout<<“長方體的參數(shù)是:”<

chang.showB();

chang.showD();}

四則運(yùn)算:

#include #include class CA { private: int D1,D2;char Opr;public: long GetResult(){

switch(Opr)

{

case '+': return D1+D2;break;

case '-': return D1-D2;break;

case '*': return D1*D2;break;

case '/': if(D2!=0)return D1/D2;

else{

cout<<“分母為0”<

default:

{

cout<<“非法 Opr”<

} } }

void SetOpr(char opr){ switch(opr){ case '+': case '-': case '*': case '/':

Opr=opr;break;default:Opr='

主站蜘蛛池模板: 亚洲精品久久久久玩吗| 免费a级毛片无码视频| 日韩精品射精管理在线观看| 人妻系列无码一区二区三区| 少妇高潮一区二区三区99| 蜜桃av无码免费看永久| 久久久久人妻一区二区三区vr| 成人精品一区二区三区电影| 亚洲国产精品线久久| 久久国产精品久久精| 2021在线精品自偷自拍无码| 久久er99热精品一区二区| 四虎影视国产精品久久| 中文字幕人妻高清乱码| 狠狠躁天天躁中文字幕| 日韩高清国产一区在线| 欧美一区二区三区红桃小说| 国内精品伊人久久久久妇| 国产男女猛视频在线观看| 国产成人无码av一区二区| 久久人人爽人人人人片| 国产一三四2021不卡| 国产精品久线在线观看| 国产97在线 | 免费| 日韩欧美tⅴ一中文字暮| 日产中文字幕在线精品一区| 精品人妻无码一区二区色欲产成人| 欧美人妻精品一区二区三区| ,粉嫩小泬BBBB免费看| 亚洲色一色噜一噜噜噜| 漂亮人妻洗澡被公强 日日躁| 国产精品久久久| 1313午夜精品理论片| 成人精品视频一区二区三区尤物| 国外亚洲成av人片在线观看| 日本丰满熟妇videossex8k| 国产日韩精品欧美一区喷水| 无码精品a∨在线观看| 99热成人精品热久久| 无码一区二区三区亚洲人妻| 两女女百合互慰av赤裸无遮挡|