福建農林大學實驗報告_第1頁
福建農林大學實驗報告_第2頁
福建農林大學實驗報告_第3頁
福建農林大學實驗報告_第4頁
福建農林大學實驗報告_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

福建農林大學實驗報告實驗2類和對象(一)一、實驗目的和要求(1)掌握類、類的數(shù)據(jù)成員、類的成員函數(shù)的定義方式,理解類成員的訪問控制方式。(2)掌握對象的定義和操作對象的方法。(3)掌握構造函數(shù)和析構函數(shù)的定義與執(zhí)行過程。二、實驗內容和原理1、調試下面程序,在不刪除和增加代碼行的情況下,改正錯誤語句,使其正確運行。2、(1)在以下程序中,將TPoint類的帶有兩個參數(shù)的構造函數(shù)進行修改,在函數(shù)體內增加如下語句:cout<<”ConstructorisCalled!\n”;(2)寫出程序的輸出結果,并解釋輸出結果。(3)在主函數(shù)體內,添加下列說明語句:TPointe(20),f;調試程序會出現(xiàn)什么現(xiàn)象?為什么?如何解決?3、請定義一個三角形類triangle,私有數(shù)據(jù)成員為三角形的三邊(first,second,third),設計無參構造置first、second、third都為0,有參構造函數(shù)置三邊位對應形參的值,另外還包括求三角形周長、求三角形的面積、修改三角形三邊的值,輸出三角形三邊等公有成員函數(shù)。要求輸出三角形三邊的格式為“三邊分別是:first、second、third”。三、實驗環(huán)境1.硬件:PC機;2.軟件:Windows操作系統(tǒng)、VisualC++6.0四、算法描述及實驗步驟1.#include<iostream.h>classStudent{private:char*name; intage; charsex;public: Student(char*newname,intnewage,charnewsex){name=newname; age=newage; sex=newsex;} intgetAge(){returnage;} chargetSex(){returnsex;} char*getName(){returnname;}};intmain(){Studentmystudent("jim",20,'f');cout<<mystudent.getAge()<<mystudent.getSex()<<mystudent.getName()<<endl;return0;}2.#include<iostream>usingnamespacestd;classTPoint{public:TPoint(intx,inty){X=x;Y=y;cout<<"ConstructorisCalled.\n";}TPoint(TPoint&p);~TPoint(){cout<<"Destructoriscalled\n";}intgetx(){returnX;}intgety(){returnY;}private: intX,Y;};TPoint::TPoint(TPoint&p){ X=p.X; Y=p.Y; cout<<"Copy-initializationConstructoriscalled\n";}intmain(){TPointa(5,3),b(7,10);TPointc(b);TPointd=a;cout<<c.getx()<<","<<c.gety()<<endl;return0;}3.#include<iostream>#include<cmath>usingnamespacestd;classtriangle{public: triangle(){first=0;second=0;third=0;} triangle(doublex,doubley,doublez){first=x;second=y;third=z;} doubleperimeter(){return(first+second+third);} doublearea() { doublep=(first+second+third)/2; return(sqrt(p*(p-first)*(p-second)*(p-third))); } voidsetvalue(doublem,doublen,doubleh){first=m;second=n;third=h;} doublegetfirst(){returnfirst;} doublegetsecond(){returnsecond;} doublegetthird(){returnthird;} voiddisplay();private: doublefirst,second,third;};voidtriangle::display(){ cout<<"First:"<<first<<""<<"Second:"<<second<<""<<"Third:"<<third<<endl;}intmain(){ doublex,y,z; cin>>x>>y>>z; cout<<endl; triangleA(x,y,z),B(3,4,5); cout<<"下面是A三角形的相關信息:"<<endl; A.display(); cout<<"perimeter:"<<A.perimeter()<<""; cout<<"area:"<<A.area()<<endl; B.setvalue(3,4,5); cout<<endl; cout<<"下面是替換后B三角形的相關信息:"<<endl; cout<<"First:"<<B.getfirst()<<""<<"Second:"<<B.getsecond()<<""<<"Third:"<<B.getthird()<<endl; cout<<"perimeter:"<<B.perimeter()<<""; cout<<"area:"<<B.area()<<endl; cout<<endl; return0;}五、調試過程姓名年齡性別為保護控制,所以下面的輸出不能直接調用保護的函數(shù),還有Studentmystudent里面只有兩個函數(shù)名少了年齡的。編譯器提示的是沒有合適的默認構造函數(shù)解決建立一個合適的構造函數(shù)六12.3

溫馨提示

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

評論

0/150

提交評論