面向?qū)ο蟪绦蛟O(shè)計實驗講義_第1頁
面向?qū)ο蟪绦蛟O(shè)計實驗講義_第2頁
面向?qū)ο蟪绦蛟O(shè)計實驗講義_第3頁
面向?qū)ο蟪绦蛟O(shè)計實驗講義_第4頁
面向?qū)ο蟪绦蛟O(shè)計實驗講義_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

面向?qū)ο蟪绦蛟O(shè)計實驗講義TOC\o"1-5"\h\z\o"CurrentDocument"實驗一封裝機制 1\o"CurrentDocument"一、 實驗?zāi)康?1\o"CurrentDocument"二、 實驗內(nèi)容 1\o"CurrentDocument"三、 實驗要求 3\o"CurrentDocument"四、 思考與練習(xí) 4\o"CurrentDocument"實驗二繼承機制 5\o"CurrentDocument"一、 實驗?zāi)康?5\o"CurrentDocument"二、 實驗內(nèi)容 5\o"CurrentDocument"三、 實驗要求 7\o"CurrentDocument"四、 思考與練習(xí) 7\o"CurrentDocument"實驗三虛函數(shù)和動態(tài)綁定 8\o"CurrentDocument"一、 實驗?zāi)康?8\o"CurrentDocument"二、 實驗內(nèi)容 8\o"CurrentDocument"三、 實驗要求 11\o"CurrentDocument"四、 思考與練習(xí) 11\o"CurrentDocument"實驗四運算符重載. 12\o"CurrentDocument"一、 實驗?zāi)康?12\o"CurrentDocument"二、 實驗內(nèi)容 12\o"CurrentDocument"三、 實驗要求 14\o"CurrentDocument"四、 思考與練習(xí) 14\o"CurrentDocument"實驗五文件I/O 15\o"CurrentDocument"一、 實驗?zāi)康?15\o"CurrentDocument"二、 實驗內(nèi)容 15\o"CurrentDocument"三、 實驗要求 16\o"CurrentDocument"四、 思考與練習(xí) 17\o"CurrentDocument"附錄VISUALC++實驗環(huán)境介紹 18\o"CurrentDocument"一、 VisualC++簡介 18\o"CurrentDocument"二、控制臺應(yīng)用 18實驗一封裝機制一、 實驗?zāi)康恼莆彰嫦驅(qū)ο蟮幕靖拍睿惖亩x方法;掌握類成員的訪問權(quán)限及訪問類成員的方法;掌握內(nèi)聯(lián)函數(shù);掌握構(gòu)造函數(shù)與析構(gòu)函數(shù)的意義及使用方法。二、 實驗內(nèi)容【范例】設(shè)計一個程序,定義一個矩形類,包括數(shù)據(jù)成員和函數(shù)成員。要求有構(gòu)造函數(shù)、析構(gòu)函數(shù),完成賦值、修改、顯示等功能的接口,并編寫main函數(shù)測試,要求用一個對象初始化另一對象。【分析】要確定一個矩形(四邊都是水平或垂直方向,不能傾斜),只要確定其左上角和右下角的x和y坐標(biāo)即可,因此應(yīng)包括四個數(shù)據(jù)成員,left,right,top,bottom,即左右上下四個邊界值。由構(gòu)造函數(shù)對數(shù)據(jù)成員賦值,賦值函數(shù)完成未初始化的矩形賦值,修改函數(shù)可以修改各數(shù)據(jù)成員,顯示函數(shù)則畫出該矩形?!境绦?】所有原代碼作為一個文件保存#include<iostream.h>classRectangle{intleft,top;intright,bottom;public:Rectangle(intl=0,intt=0,intr=0,intb=0);?Rectangle(){};//析構(gòu)函數(shù),在此函數(shù)體為空voidAssign(intl,intt,intr,intb);voidSetLeft(intt){left=t;}//以下四個函數(shù)皆為內(nèi)聯(lián)成員函數(shù)voidSetRight(intt){right=t;}voidSetTop(intt){top=t;}voidSetBottom(intt){bottom=t;}voidShow();};//構(gòu)造函數(shù),帶缺省參數(shù),缺省值為全0,在聲明中指定Rectangle::Rectangle(intl,intt,intr,intb){left=l;top=t;right=r;bottom=b;voidRectangle::Assign(intl,intt,intr,intb){left=l;top=t;right=r;bottom=b;}voidRectangle::Show(){cout<<"left-toppointis("<<left<<","<<top<<")"<<'\n';cout<<"right-bottompointis("<<right<<","<<bottom<<")"<<'\n';}voidmain(){Rectanglerect;rect.Show();rect.Assign(100,200,300,400);rect.Show();Rectanglerect1(0,0,200,200);rect1.Show();Rectanglerect2(rect1);rect2.Show();}//將上述所有內(nèi)容保存為rect.cpp(也可自命名)【程序2】類的界面、類的實現(xiàn)以及main函數(shù)分開保存classRectangle{intleft,top;intright,bottom;public:Rectangle(intl=0,intt=0,intr=0,intb=0);?Rectangle(){};//析構(gòu)函數(shù),在此函數(shù)體為空voidAssign(intl,intt,intr,intb);voidSetLeft(intt){left=t;}//以下四個函數(shù)皆為內(nèi)聯(lián)成員函數(shù)voidSetRight(intt){right=t;}voidSetTop(intt){top=t;}voidSetBottom(intt){bottom=t;}voidShow();};//將上述內(nèi)容保存為rect.h#include<iostream.h>#include“rect.h”//構(gòu)造函數(shù),帶缺省參數(shù),缺省值為全0,在聲明中指定Rectangle::Rectangle(intl,intt,intr,intb){left=l;top=t;right=r;bottom=b;}voidRectangle::Assign(intl,intt,intr,intb){left=l;top=t;right=r;bottom=b;}voidRectangle::Show(){cout<<”left-toppointis(”<<left<<”,”<<top<<”)”<<’\n’;cout<<”right-bottompointis(”<<right<<”,”<<bottom<<”)”<<’\n’;}//將上述內(nèi)容保存為rect.cpp#include<iostream.h>#include“rect.h”voidmain(){Rectanglerect;rect.Show();rect.Assign(100,200,300,400);rect.Show();Rectanglerect1(0,0,200,200);rect1.Show();Rectanglerect2(rect1);rect2.Show();}//將上述內(nèi)容保存為Exp6_1.cpp三、實驗要求創(chuàng)建工程,錄入上述源程序,以1個文件和多文件組織兩種形式保存工程,建立可執(zhí)行文件并執(zhí)行,觀察結(jié)果;哪些函數(shù)是內(nèi)聯(lián)的?為什么?其他函數(shù)怎樣說明為內(nèi)聯(lián)的?修改上述程序,以鍵盤輸入的方式輸入矩形的坐標(biāo)值,修改后再執(zhí)行。四、思考與練習(xí)定義一個圓類(Circle),屬性為半徑(radius)和圓周長、面積,操作為輸入半徑并計算周長、面積,輸出半徑、周長和面積。要求定義構(gòu)造函數(shù)(以半徑為參數(shù),缺省值為0,周長和面積在構(gòu)造函數(shù)中生成)和拷貝構(gòu)造函數(shù)。實驗二繼承機制一、 實驗?zāi)康恼莆绽^承與派生的關(guān)系及方法;掌握在派生類構(gòu)造函數(shù)中初始化基類成員;掌握多重繼承的方法;二、 實驗內(nèi)容【范例】定義一個繼承與派生關(guān)系的類體系,在派生類中訪問基類成員?!痉治觥慷x一個點類,包含x,y坐標(biāo)數(shù)據(jù)成員,顯示函數(shù)和計算面積的函數(shù)成員;以點為基類派生一個圓類,增加表示半徑的數(shù)據(jù)成員,重載顯示和計算面積的函數(shù);定義一個直線類,以兩個點類對象作數(shù)據(jù)成員,定義顯示、求面積及長度函數(shù)。編程測試所定義的類體系。【程序】#include<iostream.h>#include<math.h>#definePI3.14159classPoint{friendclassLine;protected:doublex,y;public:Point(){x=0;y=0;}Point(doublexv,doubleyv){x=xv;y=yv;}doubleArea(){return0;}voidShow(){coutvv"x="vvxvv''vv"y="vvyvvendl;}};classCircle:publicPoint{doubleradius;public:Circle(){x=0;y=0;radius=0;}Circle(doublexv,doubleyv,doublevv):Point(xv,yv){〃調(diào)用基類構(gòu)造函數(shù)radius=vv;}doubleArea(){returnPI*radius*radius;}voidShow(){//訪問基類的數(shù)據(jù)成員cout<<"x="<<x<<''<<"y="<<y<<"radius="<<radius<<endl;}};classLine{Pointstart,end; //X對象成員public:Line():start(0,0),end(0,0){} 〃對象成員初始化Line(doublexv1,doubleyv1,doublexv2,doubleyv2):start(xv1,yv1),end(xv2,yv2){}doubleGetLength(){returnsqrt((start.x-end.x)*(start.x-end.x)+(start.y-end.y)*(start.y-end.y));}doubleArea(){return0;}voidShow(){cout<<"startpoint:\n";start.Show();cout<<"endpoint:\n";end.Show();}};voidmain(){Pointpt(0,0);Circlecl(100,100,10);Lineln1(0,0,100,100);cout<<pt.Area()<<endl;pt.Show();cout<<cl.Area()<<endl;cl.Show();cout<<ln1.Area()<<'\t'<<ln1.GetLength()<<endl;ln1.Show();【注意】在Point類中,將Line類定義為友元,方便在Line中訪問;Point的x和y定義為Protected訪問權(quán)限,便于派生類訪問。注意派生類的構(gòu)造函數(shù)中對基類數(shù)據(jù)成員的初始化方法,以及構(gòu)造函數(shù)中對對象成員的初始化。三、 實驗要求建立工程,錄入上述程序,改變數(shù)據(jù)實驗之。修改CPoint類數(shù)據(jù)成員x,y的訪問權(quán)限為private,再運行,結(jié)果如何?如果不將CLine設(shè)為CPoint的友元,應(yīng)采取什么措施?為哪個類增加數(shù)據(jù)或函數(shù)成員?四、 思考與練習(xí)使用多重繼承和虛基類實現(xiàn)工資管理?!疽蟆磕彻竟蛦T(employee)包括經(jīng)理(manager),技術(shù)人員(technician)和銷售員(salesman)o開發(fā)部經(jīng)理(developermanger),既是經(jīng)理也是技術(shù)人員(salesmanager)。銷售部經(jīng)理(salesmanager),既是經(jīng)理也是銷售員?!咎崾尽恳詄mployee類為虛基類派生出manager,technician和salesman類;再進一步多重派生出developermanager和salesmanager類。employee類的屬性包括姓名、職工號、工資級別,月薪(實發(fā)基本工資加業(yè)績工資)。操作包括月薪計算函數(shù)(page()),該函數(shù)要求輸入請假天數(shù),扣去應(yīng)扣工資后,得出實發(fā)基本工資。technician類派生的屬性有每小時附加酬金和當(dāng)月工作時數(shù),及研究完成進度系數(shù)。業(yè)績工資為三者之積。也包括同名的pay()函數(shù),工資總額為基本工資加業(yè)績工資。salesman類派生的屬性有當(dāng)月銷售額和酬金提取百分比,業(yè)績工資為兩者之積。也包括同名的pay()函數(shù),工資總額為基本工資加業(yè)績工資。manager類派生屬性有固定獎金額和業(yè)績系數(shù),業(yè)績工資為兩者之積。工資總額也為基本工資加業(yè)績工資。而developermanager類,pay()函數(shù)是將作為經(jīng)理和作為技術(shù)人員業(yè)績工資之和的一半作為業(yè)績工資。salesamanager類,pay()函數(shù)則是經(jīng)理的固定獎金額的一半,加上部門總銷售額與提成比例之積,這是業(yè)績工資?!咀⒁狻縫ay()應(yīng)用同名覆蓋的方法。要求有拷貝構(gòu)造函數(shù),并測試是否正確。實驗三虛函數(shù)和動態(tài)綁定一、 實驗?zāi)康脑谡莆绽^承與派生關(guān)系的基礎(chǔ)上,進一步理解虛函數(shù)與多態(tài)型的關(guān)系;掌握運行時的多態(tài)性的實現(xiàn)。二、 實驗內(nèi)容【范例】使用虛函數(shù)和抽象基類對實驗二進行改進?!疽蟆慷x一個抽象基類CElement,提供顯示、求面積等公共接口(虛函數(shù)),派生出CPoint、CLine、CCircle、CArc等圖形元素類,并重定義(override)這些虛函數(shù),完成各自的任務(wù)。再定義一個CElemList鏈表類,存儲CElement的派生類。然后定義main函數(shù),生成多個圖形元素插入鏈表中,通過鏈表的頭指針逐個訪問鏈表中的元素,輸出所有圖形元素。在這里,CElement是抽象基類,它不能提供具體的顯示等操作,應(yīng)將其成員函數(shù)定義為純虛函數(shù)。只有采用指向基類的指針或?qū)惖囊眠M行調(diào)用,實現(xiàn)的才是動態(tài)聯(lián)編,完成運行時的多態(tài)性。[程序]#include<iostream.h>#include<math.h>doubleconstPI=3.14159;classCElement{public:virtualvoidShow()=0;virtualdoubleArea()=0;CElement*Next;};classCPoint:publicCElement{friendclassCLine;protected:doublex,y;public:CPoint(){x=0;y=0;}CPoint(doublexv,doubleyv){x=xv;y=yv;}doubleArea(){return0;}voidShow(){cout<<"x="<<x<<''<<"y="<<y<<endl;}};classCCircle:publicCPoint{doubleradius;public:CCircle(){x=0;y=0;radius=0;}CCircle(doublexv,doubleyv,doublevv):CPoint(xv,yv){radius=vv;}doubleArea(){returnPI*radius*radius;}voidShow(){coutvv"x="vvxvv' 'v<"y="vvy?' '<<"radius="vvradius?' 'vv"Area="<<Area()<<endl;}};classCLine:publicCElement{CPointstart,end;public:CLine():start(0,0),end(0,0){}CLine(doublexv1,doubleyv1,doublexv2,doubleyv2):start(xv1,yv1),end(xv2,yv2){};doubleGetLength(){returnsqrt((start.x-end.x)*(start.x-end.x)+(start.y-end.y)*(start.y-end.y));}doubleArea(){return0;}voidShow(){cout<<"startpoint:\n";start.Show();cout<<"endpoint:\n";end.Show();coutvv"Length="vvGetLength()vvendl;}};

CElement*head;//鏈表頭指針定義為基類類型public:CElemList():head(NULL){}~CElemList();voidInsert(CElement*); //插入元素intDelete(CElement*); //刪除元素voidShow(); //顯示所有元素CElement*GetHead(){returnhead;} //取得鏈表頭};CElemList::~CElemList(){CElement*p=head,*p2;while(p){CElement*head;//鏈表頭指針定義為基類類型public:CElemList():head(NULL){}~CElemList();voidInsert(CElement*); //插入元素intDelete(CElement*); //刪除元素voidShow(); //顯示所有元素CElement*GetHead(){returnhead;} //取得鏈表頭};CElemList::~CElemList(){CElement*p=head,*p2;while(p){p2=p;p=p->Next;deletep2;}return;}voidCElemList::Insert(CElement*elem){elem->Next=head;//在表頭插入結(jié)點在表頭插入結(jié)點}intCElemList::Delete(CElement*elem){CElement*p1=head,*p2=head;while(p1&&p1!=elem)p2=p1,p1=p1->Next;if(p1==elem){if(p1!=head)p2->Next=p1->Next;elsehead=head->Next;deletep1;return1;}elsereturn0;}voidCElemList::Show(){

CElement*p=head;while(p){//通過基類指針調(diào)用派生類成員函數(shù),實現(xiàn)運行時多態(tài)性p->Show();p=p->Next;}return;}voidmain(){CElemListlist;//定義鏈表類對象CElement*p1=newCLine(100,100,100,200);list.Insert(p1);list.Show();cout<<endl;p1=newCCircle(200,100,20);list.Insert(p1);list.Show();cout<<endl;list.Delete(p1);list.Show();cout<<endl;}三、 實驗要求建立工程,錄入上述程序,改變數(shù)據(jù)實驗之。若將CElement的兩個虛函數(shù)virtual關(guān)鍵詞刪除,再運行,結(jié)果如何?為保證類的通用性,析構(gòu)函數(shù)總是定義為虛函數(shù),修改之。養(yǎng)成這種習(xí)慣。四、 思考與練習(xí)修改實驗二中思考與練習(xí)題,pay()采用虛函數(shù),動態(tài)聯(lián)編。實驗四運算符重載一、 實驗?zāi)康恼莆沼言瘮?shù)和友元類的應(yīng)用;掌握運算符重載為成員函數(shù)和友元函數(shù)的方法。二、 實驗內(nèi)容【范例】為實驗一的Rectangle類增加加減復(fù)合賦值和加減運算符重載函數(shù)。加減復(fù)合賦值語義定義為固定長方形的左上角,對右下角的坐標(biāo)進行加減運算,使新矩形的長寬為原兩矩形長寬之和或差,對加和減復(fù)合賦值定義為成員函數(shù)。兩個矩形加減運算定義為友元函數(shù)。[程序]#include<iostream.h>classRectangle{intleft,top;intright,bottom;public:Rectangle(intl=0,intt=0,intr=0,intb=0);?Rectangle(){};//析構(gòu)函數(shù),在此函數(shù)體為空voidAssign(intl,intt,intr,intb);voidSetLeft(intt){left=t;}//以下四個函數(shù)皆為內(nèi)聯(lián)成員函數(shù)voidSetRight(intt){right=t;}voidSetTop(intt){top=t;}voidSetBottom(intt){bottom=t;}voidShow();voidoperator+=(Rectangle&);voidoperator-=(Rectangle&);friendRectangleoperator+(Rectangle&,Rectangle&);friendRectangleoperator-(Rectangle&,Rectangle&);};Rectangle::Rectangle(intl,intt,intr,intb){left=l;top=t;right=r;bottom=b;voidRectangle::Assign(intl,intt,intr,intb){left=l;top=t;right=r;bottom=b;}voidRectangle::Show(){cout<<"left-toppointis("<<left<<","<<top<<")"<<'\n';cout<<"right-bottompointis("<<right<<","<<bottom<<")"<<'\n';}voidRectangle::operator+=(Rectangle&rect){intx=rect.right-rect.left;inty=rect.bottom-rect.top;right+=x;bottom+=y;}voidRectangle::operator-=(Rectangle&rect){intx=rect.right-rect.left;inty=rect.bottom-rect.top;right-=x;bottom-=y;}Rectangleoperator-(Rectangle&rect1,Rectangle&rect2){//矩形相減,從recti中減去rect2的長度和寬度recti-=rect2;returnrect1;}Rectangleoperator+(Rectangle&rect1,Rectangle&rect2){//矩形相加,從recti中加上rect2的長度和寬度recti+=rect2;returnrecti;}voidmain(){Rectanglerect;rect.Show();rect.Assign(I00,200,300,400);rect.Show();Rectanglerecti(0,0,200,200);recti.Show();rect+=recti;rect.Show();rect-=recti;rect.Show();Rectanglerect2;rect2=rect+recti;rect2.Show();rect2=rect-recti;rect2.Show();}三、 實驗要求建立工程,錄入上述程序,改變數(shù)據(jù)實驗之。若將加減運算重載為成員函數(shù),如何實現(xiàn)?為矩形類再增加一個靜態(tài)數(shù)據(jù)成員Counter,統(tǒng)計共產(chǎn)生了多少個矩形對象。為Counter添加定義、賦初值及隨程序運行而變化的代碼,并在main函數(shù)中對其輸出。注意靜態(tài)數(shù)據(jù)成員應(yīng)該有定義性說明。四、 思考與練習(xí)改善復(fù)數(shù)類,增加重載的運算符:-、-二、*=和/=,實現(xiàn)完整的復(fù)數(shù)的加減乘除運算,定義++為輻角不變而模加1,重載前后++(++對普通的復(fù)數(shù)表達方式a+ib為:a+a/sqrt(a*a+b*b),b+b/sqrt(a*a+b*b))。并定義main函數(shù)檢測之。要求分別重載為成員函數(shù)和友元函數(shù)。實驗五文件I/O一、 實驗?zāi)康?.掌握文件流的打開、讀寫與關(guān)閉;2.掌握文件的隨機訪問;掌握用構(gòu)造函數(shù)打開文件來創(chuàng)建對象,用析構(gòu)函數(shù)撤銷對象并存入文件。二、 實驗內(nèi)容【范例】建立一個應(yīng)用程序,包括數(shù)據(jù)輸入、存盤、讀盤、操作數(shù)據(jù)后存儲。通過隨機數(shù)函數(shù)rand()產(chǎn)生20個整數(shù),逐個將這些數(shù)以二進制方式寫入文件file.dat中。然后讀出這些數(shù),在內(nèi)存中對它們進行增序排序,再將排序后的數(shù)以文本方式逐個寫入file.out文件中?!境绦颉坑肅++的文件流進行文件管理,用流類的函數(shù)進行文件讀寫。#include<iostream.h>#include<math.h>#include<stdlib.h>#include<fstream.h>#include<iomanip.h>voidsort(int[],int);main(){fstreamdat,out; //定義文件流對象inti,a[20],b[20];dat.open("file.dat”,ios::binary|ios::out|ios::in);//為讀寫打開二進制文件if(!dat){cout<<("cannotopenfile\n");exit(0);}for(i=0;i<20;i++){a[i]=rand();dat.write((char*)&a[i],sizeof(int));//將二十個數(shù)寫入文件}dat.seekg(0); //將文件指針移至文件頭for(i=0;i<20;i++){dat.read((char*)&b[i],sizeof(int));//讀出二十個數(shù)sort(b,20); //調(diào)用排序函數(shù)out.open("file.out",ios::out); 〃為輸出打開文本文件if(!out){cout<<"cannotopenfile\n";exit(0);}for(i=0;i<20;i++){ //將排序后數(shù)據(jù)寫入文本文件out<<b[i]<<'';}out<<'\n';for(i=0;i<20;i++)cout<<b[i]<<'';cout<<"\n";out.close(); 〃關(guān)閉文件dat.close();return0;}voidsort(intx[],intm){ //排序函數(shù)inti,j,k,t;for(i=0;i<m-1;i++){k=i;for(j=i+1;j<m;j++)if(x[j]<x[k])k=j;if(k!=i){t=x[i];x[i]=x[k];x[k]=t;}}}程序執(zhí)行后,file.out文件中內(nèi)容為:41491299548275436570563349961114781194215724168271846719169232812446426500269622814529358三、實驗要求建立工程,錄入上述程序,改變數(shù)據(jù)實驗之。改造為一個類:a[20],b[20]為私有數(shù)據(jù)成員;在構(gòu)造函數(shù)中用隨機數(shù)發(fā)生器為a[]賦值,并打開兩個文件;在析構(gòu)函數(shù)中關(guān)閉文件;其余各種操作定義為成員函數(shù)。四、思考與練習(xí)兩個文件中各有若十個以遞增次序排列的實數(shù),編寫一個程序?qū)⑦@兩個文件中的數(shù)統(tǒng)一排序后寫入到一個新的文件中。并檢驗新文件數(shù)據(jù)是否正確。附錄VisualC++實驗環(huán)境介紹一、VisualC++簡介VisualC++是Microsoft公司的VisualStudio開發(fā)工具箱中的一個C++程序開發(fā)包。VisualStudio提供了一整套開發(fā)Internet和Windows應(yīng)用程序的工具,包括VisualC++,VisualBasic,VisualFoxpro,VisualInterDev,VisualJ++以及其他輔助工具,如代碼管理工具VisualSourceSafe和聯(lián)機幫助系統(tǒng)MSDN。VisualC++包中除包括C++編譯器外,還包括所有的庫、例子和為創(chuàng)建Windows應(yīng)用程序所需要的文檔。從最早期的1.0版本,發(fā)展到最新的6.0版本,VisualC++已經(jīng)有了很大的變化,在界面、功能、庫支持方面都有許多的增強。最新的6.0版本在編譯器、MFC類庫、編輯器以及聯(lián)機幫助系統(tǒng)等方面都比以前的版本做了較大改進。VisualC++一般分為三個版本:學(xué)習(xí)版、專業(yè)版和企業(yè)版,不同的版本適合于不同類型的應(yīng)用開發(fā)。實驗中可以使用這三個版本的任意一種。VisualC++集成開發(fā)環(huán)境(IDE)是一個將程序編輯器、編譯器、調(diào)試工具和其他建立應(yīng)用程序的工具集成在一起的用于開發(fā)應(yīng)用程序的軟件系統(tǒng)。VisualC++軟件包中的DeveloperStudio就是一個集成開發(fā)環(huán)境,它集成了各種開發(fā)工具和VC編譯器。程序員可以在不離開該環(huán)境的情況下編輯、編譯、調(diào)試和運行一個應(yīng)用程序。IDE中還提供大量在線幫助信息協(xié)助程序員做好開發(fā)工作。DeveloperStudio中除了程序編輯器、資源編輯器、編譯器、調(diào)試器外,還有各種工具和向?qū)Вㄈ鏏ppWizard和ClassWizard),以及MFC類庫,這些都可以幫助程序員快速而正確地開發(fā)出應(yīng)用程序。二、控制臺應(yīng)用用AppWizard建立一個控制臺應(yīng)用,在終端上輸出”Hello”。術(shù)語:“控制臺應(yīng)用程序”是一個在DOS窗口中運行的基于字符的程序。1)創(chuàng)建第一個應(yīng)用首先創(chuàng)建一個項目(project),項目將代表你的應(yīng)用,存放你應(yīng)用的所有信息,包括源文件、資源文件、編譯連接設(shè)置等。創(chuàng)建項目的步驟為:(1) 啟動DeveloperStudio(2) 從主菜單中選擇File|New,將顯示出New對話框(3) 選擇Projects標(biāo)簽,并從列表中單擊Win32ConsoleApplication在“Location”編輯框中輸入你的工作目錄名稱,如c:\student\your_name在對話框的右上角的“projectname”編輯框內(nèi)鍵入項目的名字,如”Hello”,系統(tǒng)將自動為你的項目分配一個默認的目錄單擊OK繼續(xù)如果是VC6.0,系統(tǒng)將顯示一個詢問項目類型的程序向?qū)?,選擇“anemptyproject”單擊Finish或OK結(jié)束配置,創(chuàng)建應(yīng)用程序這時系統(tǒng)為你創(chuàng)建一個新的項目,并且在左邊的工

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論