欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      《C++程序設計》實驗報告范例

      時間:2019-05-12 16:15:25下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關的《《C++程序設計》實驗報告范例》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《《C++程序設計》實驗報告范例》。

      第一篇:《C++程序設計》實驗報告范例

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

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

      一、實驗時間:

      2011年9月20日

      二、實驗地點:

      第7機房

      三、指導教師:

      鄧譜

      四、實驗目的:

      1.了解VC++6.0的主要特點;

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

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

      五、實驗內(nèi)容:

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

      ? 【編程思想】

      ? 【流程圖】

      ? 【源程序】見上機作業(yè)“實驗11_11_1.cpp”

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

      解決方法:

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

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

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

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

      問題2:error LNK2001: unresolved external symbol _WinMain@16:連接錯誤2001:未解決的外部符號_WinMain@16

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

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

      問題3:error C1010: unexpected end of file while looking for precompiled header directive:錯誤C1010:在查找預編譯頭時遇到意外的文件結尾。

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

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

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

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

      問題5:……

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

      ……

      六、實驗總結:

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

      第二篇:C++實驗報告

      姓名:XX 學院:XXX 班級:XXX 學號:XXX

      i++;

      } while(i<=10);cout<<“sum=”<

      #include using namespace std;void main(){ int i(1),sum(0);

      for(i;i<=10,i++)

      {

      sum+=i;

      }

      cout<<“sum=”< using namespace std;const float pi=3.1416;void main(){ int itype;

      cout<<“不是合法的輸入”< using namespace std;struct riqi { int year;int mon;int day;int hour;int minut;int second;};void main(){ riqi a;cout<<“輸入時間日期”<>a.year;cout<<“輸入月份”<

      實驗

      三、函數(shù)的應用(2學時)

      1、實驗目的:

      掌握函數(shù)的定義和調(diào)用方法。練習重載函數(shù)使用。練習函數(shù)模板的使用 練習使用系統(tǒng)函數(shù)。

      在main()函數(shù)中提示輸入兩個整數(shù)x,y,使用cin語句得到x,y的值,調(diào)用pow(x,y)函數(shù)計算x的y次冪的結果,再顯示出來。程序名:lab3_4.cpp。

      編寫遞歸函數(shù)int fib(int n),在主程序中輸入n的值,調(diào)用fib函數(shù)計算Fibonacci級數(shù)。公式為fib(n)=fib(n-1)+fib(n-2),n>2;fib(1)=fib(2)=1。使用if語句判斷函數(shù)的出口,在程序中用cout語句輸出提示信息。程序名:lab3_5.cpp。

      7)調(diào)試操作步驟如下:

      選擇菜單命令Build|Start Debug |Step In,系統(tǒng)進入單步執(zhí)行狀態(tài),程序開始運行,并出現(xiàn)一個DOS窗口,此時光標停在main()函數(shù)的入口處。

      把光標移到語句answer=fib(n)前,從Debug菜單單擊Run To Cursor,在程序運行的DOS窗口中按提示輸入數(shù)字10,這時回到可視界面中,光標停在第11行,觀察一下n的值。

      從Debug菜單中單擊Step Into,程序進入fib函數(shù),觀察一下n的值,把光標移到語句return(fib(n-2)+fib(n-1))前,從Debug菜單單擊Run to Cursor,再單擊Step Into,程序遞歸調(diào)用fib函數(shù),又進入fib函數(shù),觀察n的值。

      繼續(xù)執(zhí)行程序,參照上述的方法,觀察程序的執(zhí)行順序,加深對函數(shù)調(diào)用和遞歸調(diào)用的理解。

      再試試Debug菜單欄中的別的菜單項,熟悉Debug的各種方法。

      4、實驗原理

      C++中函數(shù)的重載使得同樣的函數(shù)名下,只要參數(shù)類型、數(shù)目不同時,即可根據(jù)輸入的數(shù)據(jù)進行相應的函數(shù)調(diào)用,使用起來簡單方便。

      5、思考與體會

      C++中,函數(shù)的運用與之前學過的C語言既有相同之處,也有著不同的地方。相同的地方在于格式、用法等框架上的不變。但是C語言中對于同樣的函數(shù)名是只能夠申明一種函數(shù)的,倘若有相同的函數(shù)名出現(xiàn)系統(tǒng)即會報錯,所以用起來有時是極為不便

      0

      //參數(shù)為兩個雙精度浮點形的函數(shù) int max1(double a,double b){ a=a>b?a:b;return a;} //參數(shù)為三個雙精度浮點形的函數(shù) int max1(double a,double b,double c){ a=a>b?a:b;a=a>c?a:c;return a;} void main(void){ int a;double b;a=max1(1,2);cout<

      Lab3_3: #include using namespace std;int max1(int a,int b){ a=a>b?a:b;return a;} int max1(int a,int b,int c){ a=a>b?a:b;a=a>c?a:c;return a;}

      int main(){ int i,j,k;cout<<“請輸入要比較的3個數(shù):

      ”<

      2131415

      public: Rank rank;int frequency;float voltage;CPU(Rank r,int f,float v){

      //構造函數(shù)

      cout<<“構造了一個CPU”<

      rank=r;

      frequency=f;

      voltage=v;} void run(){

      cout<<“CPU開始運行”<

      } void stop(){

      cout<<“CPU停止運行”<

      cout<<“RANK=”<

      cout<<“frequency=”<

      cout<<“voltage=”<

      };

      int main(){ CPU cpu(p5,500,2000);cpu.run();cpu.show();cpu.stop();return 0;}

      Lab4_2 #include using namespace std;enum Rank{p1=1,p2,p3,p4,p5,p6,p7};//CPU類 class CPU{ public:

      //析構函數(shù)-17

      computer(Rank r,int f,float v){

      CPU cpu(r,f,v);

      //定義CPU對象

      RAM ram(1);

      //定義RAM對象

      CDROM cdrom(1);

      //定義CDROM對象

      cpu.run();

      cpu.show();

      cpu.stop();} };int main(){ computer com(p4,300,3000);return 0;}

      實驗

      七、繼承與派生(一、二)4學時

      1、實驗目的:

      學習定義和使用類的繼承關系,定義派生類。熟悉不同繼承方式下對基類成員的訪問控制。學習利用虛基類解決二義性問題

      2、實驗任務 a)定義一個基類Animal,有私有整型成員變量age,構造其派生類dog,在其成員函數(shù)SetAge(int n)中直接給age賦值,看看會有什么問題,把age改為公有成員變量,還會有問題嗎?編程試試看。b)定義一個基類BaseClass,有整型成員變量Number ,構造其派生類DerivedClass,觀察構造函數(shù)和析構函數(shù)的執(zhí)行情況。c)定義一個車(vehicle)基類,具有MaxSpeed、Weight等成員變量,Run、Stop等成員函數(shù),由此派生出自行車(bicycle)類、汽車(motorcar)類。自行車類有高度(height)等屬性,汽車類有座位數(shù)(SeatNum)等屬性。從bicycle和motorcar派生出摩托車(motorcycle)類,在繼承過程中,注意把vehicle設置為虛基類。如果不把vehicle設置為虛基類,會有什么問題?編程試試看。

      3、實驗步驟

      編寫程序定義基類Animal,成員變量age定義為私有的。構造派生類dog,在其成員函數(shù)SetAge(int n)中直接對age賦值時,會出現(xiàn)類似以下的錯誤提示:

      error C2248:’age’:cannot access private member declared in class ‘Animal’

      error C2248:’age’:cannot access private member declared in class ‘Animal’

      把age改為公有成員變量后重新編譯就可以了。程序名為:lab7_1.cpp

      0

      確方便我們編程。

      6、部分參考代碼

      Lab7_1 #include using namespace std;

      class Animal{

      public: int age;};

      class dog:public Animal{ public: int SetAge(int n){

      age=n;

      return age;} };

      void main(void){ int age;dog d;age=d.SetAge(3);cout<<“age=”<

      Lab7_2 #include using namespace std;class BaseClass{ public: int Number;BaseClass(){

      cout<<“這是父類的構造函數(shù)”<

      cout<<“這是父類的析構函數(shù)”<

      //Motorcycle繼承bicycle和motorcar類

      class motorcycle:public bicycle,public motorcar{ public: motorcycle(int seat,double H,double MS,double W){

      SeatNum=seat;

      height=H;

      MaxSpeed=MS;

      Weight=W;} void show(){

      cout<<“seatnum=”<

      cout<<“height=”<

      cout<<“MaxSpeed=”<

      cout<<“weight=”<

      int main(){ motorcycle che(3,30.33,90.84,500);che.show();return 0;} 實驗

      八、多態(tài)性2學時

      1、實驗目的:

      掌握運算符重載的方法

      習使用虛函數(shù)實現(xiàn)動態(tài)多態(tài)性。

      2、實驗任務

      a)定義Point類,有坐標x,y兩個成員變量;對Point類重載“++”、“--”運算符,實現(xiàn)對坐標值的改變。

      定義一個車(vehicle)基類,有Run、Stop等成員函數(shù),由此派生出自行車(bicycle)類、汽車(motorcar)類,從bicycle和motorcar派生出摩托車(motorcycle)類,它們都有Run、Stop等成員函數(shù)。觀察虛函的作用。

      3、實驗步驟

      編寫程序定義Point類,在類中定義整型的私有成員變量x,y,定義成員函數(shù)Point& operator++();Point operator++(int);以實現(xiàn)對Point類重載“++”運算符,定義成函數(shù)Point& operator –();Point operator

      也就是函數(shù)的重載。

      6、部分參考代碼

      Lab8_1 #include using namespace std;

      class Point{ public: Point(double x=0.0,double y=0.0):xray(x),yray(y){} Point operator++(int);Point operator--(int);void show();private: double xray;double yray;};

      Point Point::operator++(int){ return Point(xray++,yray++);}

      Point Point::operator--(int){ return Point(xray--,yray--);}

      void Point::show(){ cout<<“x坐標為”<

      int main(){ Point p(4.5,6.5);cout<<“進行運算前的情況:”<

      show(&v);return 0;}

      第三篇:C++程序設計總結

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

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

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

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

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

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

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

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

      ? 與傳統(tǒng)的編程技術相比,面向?qū)ο蠹夹g具有諸多優(yōu)勢——最顯著的當屬重用技術。? 在實時系統(tǒng)等幾乎所有的計算機領域,面向?qū)ο缶幊痰膽贸绦蚨家咽艿街匾暋? 不少語言都支持面向?qū)ο缶幊?,流行的語言包括C++、Smalltalk和Java。

      第二章C++入門

      ? C++是C語言的超級

      ? C++在C語言的基礎上,添加了一些面向?qū)ο蟮奶匦?,諸如對象、繼承、函數(shù)重載和運算符重載。這些特性加強了程序的清晰性,可擴展性,使程序容易維護。

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

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

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

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

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

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

      第三章符號、表達式和控制結構

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      ? C++標準庫支持很多數(shù)學庫函數(shù),使用它們可以完成許多數(shù)學計算。

      第五章 類和對象

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

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

      部有一個隸屬標識符,以表明所屬類。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      ? 我們可以重載幾乎所有C++的運算符,下面幾個是例外:

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

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

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

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

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

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

      第八章繼承:類的擴展

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

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

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

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

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

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

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

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

      第四篇:C++課程設計實驗報告(范文)

      C++課程設計報告

      設計題目:

      院: 專業(yè)班級: 學生姓名: 學生學號: 指導教師:

      計算機技術與科學

      3班 樊冠男 40912140 馬軍亮

      提交時間:

      2011/1/12 成績:

      目錄

      C++課程設計報告

      第一章 引言

      C++課程設計報告

      第二章 概要設計

      C++課程設計報告

      第三章 軟件實現(xiàn)

      C++課程設計報告

      第四章 結果與討論

      第五篇:C++上機實驗報告

      第二次上機實驗報告

      姓名:王小寧

      班級:

      學號:

      031012 1234

      第一題:

      題目:

      編寫一個類,聲明一個數(shù)據(jù)成員和一個靜態(tài)數(shù)據(jù)成員,其構造函數(shù)初始化數(shù)據(jù)成員,并把靜態(tài)數(shù)據(jù)成員加1,其析構函數(shù)把靜態(tài)數(shù)據(jù)成員減1.(1)編寫一個應用程序,創(chuàng)建該類的3個對象,然后顯示其數(shù)據(jù)成員和靜態(tài)數(shù)據(jù)成員,再析構每個對象,并顯示它們對靜態(tài)數(shù)據(jù)成員的影響。

      (2)修改該類,增加靜態(tài)成員函數(shù)并訪問靜態(tài)數(shù)據(jù)成員,并聲明靜態(tài)數(shù)據(jù)成員為保護成員。體會靜態(tài)成員函數(shù)的使用,靜態(tài)成員之間與非靜態(tài)成員之間互訪問題。

      編程思想:

      首先,定義一個類,其中含有兩個類的私有變量,一個靜態(tài)數(shù)據(jù)變量,定義構造函數(shù),將初值賦給兩個私有變量,并將靜態(tài)數(shù)據(jù)變量加1,并顯示.定義一個析構函數(shù),并通過析構函數(shù)將靜態(tài)成員變量減1.并顯示。

      修改以上的類,增加一個靜態(tài)成員函數(shù)并通過靜態(tài)成員函數(shù)來訪問靜態(tài)成員變量。在主函數(shù)中利用一個指向函數(shù)的指針指向這個靜態(tài)成員函數(shù),并通過這個指針來訪問類中的靜態(tài)數(shù)據(jù)。代碼實現(xiàn):

      代碼1:

      #include using namespace std;class A { public:

      static int count;

      A(int a=0,int b=0)

      {

      X=a;

      Y=b;

      count++;

      cout<<“startcount=”<

      count--;

      cout<<“overcount=”<

      int GetX(){return X;}

      int GetY(){return Y;}

      private:

      int X,Y;};int A::count=0;int main(){ int *countp=&A::count;A z(2,3);cout<<“x=”<

      cout<<“x=”<

      問題及心得:

      在這次試驗中,我理解了靜態(tài)變量與普通變量之間的差異與聯(lián)系。在實驗過程中因未初靜態(tài)變量始化而無法通過編譯,并且注意到靜態(tài)變量一定要在類外初始化。

      題目2:

      創(chuàng)建一個Person類,該類中有字符數(shù)組,表示姓名、街道地址、市、省和郵政編碼。其功能有修改姓名、顯示數(shù)據(jù)信息。要求其功能函數(shù)的原型放在類定義中,構造函數(shù)初始化每個成員,顯示信息函數(shù)要求把對象中的完整信息打印出來。其中數(shù)據(jù)成員為保護的,函數(shù)為公有的。

      編程思想:

      創(chuàng)建一個PERSON類,定義姓名、街道地址、市、省和郵政編碼分別為CHAR型的指針私有型變量。在定義公有型的構造函數(shù),并在構造函數(shù)中申請動態(tài)內(nèi)存來保存初始化的內(nèi)容,并用相應的私有性的指針變量指向,再利用復制函數(shù)則指針中將會存放入輸入內(nèi)容。定義公有的析構函數(shù)釋放動態(tài)申請的空間。定義一個公有的改變函數(shù)改變其中一個變量,方法與構造函數(shù)相似。

      代碼實現(xiàn):

      #include using namespace std;class Person {

      private:

      char *name;char *street;char *pro;char *city;char *code;

      public: Person(char *aname,char *astreet,char *apro,char *acity,char *acode){

      name=new char[strlen(aname)+1];

      strcpy(name,aname);

      street=new char[strlen(astreet)+1];

      strcpy(street,astreet);

      pro=new char[strlen(apro)+1];

      strcpy(pro,apro);

      city=new char[strlen(acity)+1];

      strcpy(city,acity);

      code=new char[strlen(acode)+1];

      strcpy(code,acode);

      cout<<“constructor”<

      delete[] name;

      delete[] street;

      delete[] pro;

      delete[] city;

      delete[] code;

      cout<<“destructor”<

      delete[] name;

      name=new char[strlen(aname)+1];

      strcpy(name,aname);} void show(){

      cout<<“姓名:”<

      cout<<“街道地址:”<

      cout<<“省份:”<

      cout<<“城市:”<

      cout<<“郵政編碼:”<

      運行結果:

      實驗心得: 通過這個實驗,我們學會了對類的私有的字符數(shù)組變量的初始化。利用指針動態(tài)分配空間。

      下載《C++程序設計》實驗報告范例word格式文檔
      下載《C++程序設計》實驗報告范例.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發(fā)現(xiàn)有涉嫌版權的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權內(nèi)容。

      相關范文推薦

        C++上機實驗報告

        C++上機實驗報告 實驗名稱:實驗 專業(yè)班級: 姓名: 學號: 實驗日期: 10 11 實驗 目錄 1. 實驗目的 2. 實驗內(nèi)容 3. 程序代碼 4. 調(diào)試結果 5. 實驗心得 1. 實驗目的 實驗10 (1......

        C++程序設計實習報告

        目錄 一、實習內(nèi)容…………………………………………………………………………1 二、設計思路…………………………………………………………………………2 三、程序清單…......

        c++程序設計教案(朱紅)

        1構造一個類,含有3個數(shù)據(jù)成員,為長方體的長、寬、高,含有一個成員函數(shù),用來計算長方體的體積 #include "stdafx.h" #include class cub { private: double a,b,c; public: voi......

        C++上機實驗報告5(定稿)

        C++程序?qū)嶒瀳蟾?實驗五繼承與派生 實驗目的 1.學習定義和使用類的繼承關系,定義派生類 2.熟悉不同繼承方式下對基類成員的訪問控制 3.學習利用虛基類解決二義性問題 實驗要......

        《計算機程序設計》實驗報告[范文大全]

        《計算機 程序設計》 實驗報告姓名: 學號 : 實驗日期: 年月日 實驗名稱 控制結構與基本算法 一、實驗目的要求 1.熟練掌握 if 語句和 switch 語句 2.循環(huán)控制結構的使用 二、實......

        分支程序設計實驗報告[范文模版]

        實驗二 二 分支程序設計 一、實驗目得: 1 、學習分支程序得設計方法 2 、熟悉在 PC 機上建立、匯編、連接、調(diào)試與運行匯編語言程序得過程 二、實驗環(huán)境:硬件環(huán)境 IBM/ PC 及其......

        C#程序設計實驗報告

        實驗報告書寫要求實驗報告原則上要求學生手寫,要求書寫工整。若因課程特點需打印的,標題采用四號黑體,正文采用小四號宋體,單倍行距。紙張一律采用A4的紙張。 實驗報告書寫說明......

        C程序設計實驗報告

        浙江理工大學信息學院 C程序設計實驗報告 實驗名稱: 學時安排: 實驗類別: 實驗要求:1人1組  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 一、實驗目的 二、實驗設備介紹 軟件需求: Visual C++ 6.0或CFree3.5以上版本 硬......