章 面向?qū)ο蟪绦蛟O(shè)計(jì)概論ppt課件_第1頁
章 面向?qū)ο蟪绦蛟O(shè)計(jì)概論ppt課件_第2頁
章 面向?qū)ο蟪绦蛟O(shè)計(jì)概論ppt課件_第3頁
章 面向?qū)ο蟪绦蛟O(shè)計(jì)概論ppt課件_第4頁
章 面向?qū)ο蟪绦蛟O(shè)計(jì)概論ppt課件_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第一章 面向?qū)ο蟪绦蛟O(shè)計(jì)概論1.1OOP(Object-Oriented Programming)的基本思想和有關(guān)概念的基本思想和有關(guān)概念1.1.1 面向過程程序設(shè)計(jì)與面向?qū)ο蟪绦蛟O(shè)面向過程程序設(shè)計(jì)與面向?qū)ο蟪绦蛟O(shè)計(jì)計(jì)1.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的有關(guān)概念面向?qū)ο蟪绦蛟O(shè)計(jì)的有關(guān)概念1.2 C+對(duì)對(duì)OOP方法的支持方法的支持1.3C+對(duì)對(duì)C語言的改進(jìn)語言的改進(jìn)1.4C+程序的編輯、編譯和運(yùn)行程序的編輯、編譯和運(yùn)行1.5C+程序結(jié)構(gòu)的特點(diǎn)程序結(jié)構(gòu)的特點(diǎn)1.6 Visual C+程序運(yùn)行步驟程序運(yùn)行步驟小結(jié)小結(jié)1.1.1 面向過程與面向?qū)ο蟪绦蛟O(shè)計(jì)面向過程與面向?qū)ο蟪绦蛟O(shè)計(jì)面向過程程序設(shè)計(jì)程序=(算

2、法)+(數(shù)據(jù)結(jié)構(gòu))面向?qū)ο蟪绦蛟O(shè)計(jì)程序=(算法+數(shù)據(jù)結(jié)構(gòu))主函數(shù)主函數(shù)函數(shù)函數(shù)1函數(shù)函數(shù)2函數(shù)函數(shù)3函數(shù)函數(shù)3-1函數(shù)函數(shù)3-2數(shù)據(jù)數(shù)據(jù)1數(shù)據(jù)數(shù)據(jù)2數(shù)據(jù)數(shù)據(jù)3圖圖1.1 面向過程中算法與數(shù)據(jù)結(jié)構(gòu)的關(guān)系面向過程中算法與數(shù)據(jù)結(jié)構(gòu)的關(guān)系數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)1數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)3數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)2數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)4數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)算法算法1算法算法2算法算法2同一種操作的不同算法實(shí)同一種操作的不同算法實(shí)現(xiàn)是多余的現(xiàn)是多余的只能與一個(gè)對(duì)應(yīng)只能與一個(gè)對(duì)應(yīng)圖圖1.2 算法與數(shù)據(jù)結(jié)構(gòu)應(yīng)為算法與數(shù)據(jù)結(jié)構(gòu)應(yīng)為1:1關(guān)系關(guān)系1.1.1 面向過程與面向?qū)ο蟪绦蛟O(shè)計(jì)面向過程與面向?qū)ο蟪绦蛟O(shè)計(jì)例例1.11.1:輸入任意短語或句

3、子,計(jì)算短語包含多少個(gè)字:輸入任意短語或句子,計(jì)算短語包含多少個(gè)字(word)(word)和字和字符符(character)(character)。留意:輸入短語時(shí),必須在字和字之間只空一格。留意:輸入短語時(shí),必須在字和字之間只空一格。#include /面向過程程序面向過程程序void main() char ch; int wdcount,chcount; wdcount=1; chcount=0; printf(*:Please input any phrase:n); while(ch=getchar()!=n) chcount+; if(ch= ) wdcount+; printf(

4、n*:The number of word is %dn,wdcount); printf(n*:The number of char is %dn,chcount); 1.1.1 面向過程與面向?qū)ο蟪绦蛟O(shè)計(jì)面向過程與面向?qū)ο蟪绦蛟O(shè)計(jì)(續(xù)續(xù)1)void main() Count a;/定義對(duì)象定義對(duì)象 cess();/調(diào)用公有成員函數(shù)調(diào)用公有成員函數(shù) a.display(); 運(yùn)行結(jié)果*Please input any phrase.I am a teacher.*:The number of word is 4*:The number of char is 15面向?qū)ο蟪绦蛟O(shè)計(jì)方法

5、面向?qū)ο蟪绦蛟O(shè)計(jì)方法1.1.1 面向過程與面向?qū)ο蟪绦蛟O(shè)計(jì)面向過程與面向?qū)ο蟪绦蛟O(shè)計(jì)(續(xù)續(xù)2)#include class Count /定義類定義類public: /公有成員公有成員 Count(); /構(gòu)造函數(shù)構(gòu)造函數(shù) void process(); /成員函數(shù)成員函數(shù) void display();private: /私有成員私有成員 int wdcount,chcount;/數(shù)據(jù)成員數(shù)據(jù)成員;Count:Count() wdcount=1; chcount=0;1.1.1 面向過程與面向?qū)ο蟪绦蛟O(shè)計(jì)面向過程與面向?qū)ο蟪绦蛟O(shè)計(jì)(續(xù)續(xù)3)void Count:process() /成員函數(shù)

6、的實(shí)現(xiàn)成員函數(shù)的實(shí)現(xiàn) char ch; cout*:Please input any phraseendl; while(ch=getchar()!=n) chcount+; if(ch= ) wdcount+; coutendl;void Count:display() printf(n*:number of word is %dn,wdcount); printf(n*:number of char is %dn,chcount); 1.1.1 面向過程與面向?qū)ο蟪绦蛟O(shè)計(jì)面向過程與面向?qū)ο蟪绦蛟O(shè)計(jì)(續(xù)續(xù)4)是一種數(shù)學(xué)思維或計(jì)是一種數(shù)學(xué)思維或計(jì)算機(jī)思維方法,與人算機(jī)思維方法,與人們認(rèn)識(shí)世界的

7、方法不們認(rèn)識(shí)世界的方法不同同以不穩(wěn)定的、多變的以不穩(wěn)定的、多變的“過程和過程和“操作操作” 為中心來構(gòu)造系統(tǒng)為中心來構(gòu)造系統(tǒng)可重用性較差可重用性較差是建立在認(rèn)識(shí)方法學(xué)是建立在認(rèn)識(shí)方法學(xué)基礎(chǔ)上的一項(xiàng)技術(shù)科基礎(chǔ)上的一項(xiàng)技術(shù)科學(xué),比較自然地模擬學(xué),比較自然地模擬了人類認(rèn)識(shí)客觀世界了人類認(rèn)識(shí)客觀世界的方式;的方式;以相對(duì)穩(wěn)定的以相對(duì)穩(wěn)定的“對(duì)象對(duì)象和和“數(shù)據(jù)結(jié)構(gòu)為數(shù)據(jù)結(jié)構(gòu)為中心來構(gòu)造系統(tǒng)中心來構(gòu)造系統(tǒng)可重用性較好可重用性較好面向過程程序設(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.1 面向過程與面向?qū)ο蟪绦蛟O(shè)計(jì)面向過程與面向?qū)ο蟪绦蛟O(shè)計(jì)(續(xù)續(xù)5)消息傳遞消息傳遞機(jī)制機(jī)制面向過程程序設(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)參數(shù)參數(shù) f1()

8、() 返回值返回值過程過程1參數(shù)參數(shù) f2()() 返回值返回值過程過程2參數(shù)參數(shù) f3()() 返回值返回值過程過程3數(shù)據(jù)數(shù)據(jù)1數(shù)據(jù)數(shù)據(jù)2數(shù)據(jù)數(shù)據(jù)3數(shù)據(jù)數(shù)據(jù)4數(shù)據(jù)數(shù)據(jù)5消息消息1MF2對(duì)象對(duì)象1MF4MF3MF2MF1對(duì)象對(duì)象2MF4MF3MF1消息消息21.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的有關(guān)概念面向?qū)ο蟪绦蛟O(shè)計(jì)的有關(guān)概念一、對(duì)象與抽象一、對(duì)象與抽象二、類二、類三、封裝三、封裝四、承繼四、承繼五、多態(tài)五、多態(tài)一、對(duì)象與抽象一、對(duì)象與抽象1、對(duì)象、對(duì)象對(duì)象是現(xiàn)實(shí)世界中實(shí)際存在的一個(gè)事物,如:對(duì)象是現(xiàn)實(shí)世界中實(shí)際存在的一個(gè)事物,如:一本書、一臺(tái)電腦一本書、一臺(tái)電腦對(duì)象是面向?qū)ο蟪绦蛟O(shè)計(jì)的核心概念,從

9、現(xiàn)對(duì)象是面向?qū)ο蟪绦蛟O(shè)計(jì)的核心概念,從現(xiàn)實(shí)事物中抽象出來,對(duì)象具有:實(shí)事物中抽象出來,對(duì)象具有:(1) 屬性屬性: 狀態(tài)和外貌特征狀態(tài)和外貌特征 - 用數(shù)據(jù)表示用數(shù)據(jù)表示(2) 方法方法: 行為行為 - 用程序代碼表示用程序代碼表示 對(duì)象對(duì)象 = (算法算法 + 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)) 程序程序 = (對(duì)象對(duì)象1 + 對(duì)象對(duì)象2 + 對(duì)象對(duì)象3 )一、對(duì)象與抽象續(xù)1)2、籠統(tǒng)、籠統(tǒng)抽象是對(duì)現(xiàn)實(shí)世界中的實(shí)體進(jìn)行歸類、簡化的抽象是對(duì)現(xiàn)實(shí)世界中的實(shí)體進(jìn)行歸類、簡化的描述,即模型化描述,即模型化;是通過從特定的實(shí)例中抽取共是通過從特定的實(shí)例中抽取共同的性質(zhì)以形成一般化的概念的過程;同的性質(zhì)以形成一般化的概

10、念的過程;抽象代表著一個(gè)對(duì)象的本質(zhì)特征,這個(gè)特征將抽象代表著一個(gè)對(duì)象的本質(zhì)特征,這個(gè)特征將該對(duì)象與所有其他種類的對(duì)象區(qū)別開來;該對(duì)象與所有其他種類的對(duì)象區(qū)別開來;抽象具有層次;抽象具有層次;汽車汽車輪船輪船飛機(jī)飛機(jī)交通工具交通工具二、類1、什么是類、什么是類 類是面向?qū)ο蟪绦蛟O(shè)計(jì)封裝的基本單元,是類是面向?qū)ο蟪绦蛟O(shè)計(jì)封裝的基本單元,是創(chuàng)建對(duì)象的樣板,它包含著對(duì)所創(chuàng)建對(duì)象的狀態(tài)創(chuàng)建對(duì)象的樣板,它包含著對(duì)所創(chuàng)建對(duì)象的狀態(tài)描述和方法的定義。類的完整描述包含了外部接描述和方法的定義。類的完整描述包含了外部接口和內(nèi)部算法以及數(shù)據(jù)結(jié)構(gòu)的形式;口和內(nèi)部算法以及數(shù)據(jù)結(jié)構(gòu)的形式; 類由類由struct類型引申而

11、來,并將數(shù)據(jù)和處理數(shù)類型引申而來,并將數(shù)據(jù)和處理數(shù)據(jù)的函數(shù)捆綁在一起。據(jù)的函數(shù)捆綁在一起。 2、類是對(duì)象的抽象及描述、類是對(duì)象的抽象及描述 類中包含生成對(duì)象的具體方法,由一個(gè)類所類中包含生成對(duì)象的具體方法,由一個(gè)類所創(chuàng)建的對(duì)象稱為該類的實(shí)例,一個(gè)類的所有對(duì)象創(chuàng)建的對(duì)象稱為該類的實(shí)例,一個(gè)類的所有對(duì)象具有相同的數(shù)據(jù)類型;具有相同的數(shù)據(jù)類型; 3、類是抽象數(shù)據(jù)類型的實(shí)現(xiàn)、類是抽象數(shù)據(jù)類型的實(shí)現(xiàn) 類是所有對(duì)象的共同的行為和不同的狀態(tài)的集類是所有對(duì)象的共同的行為和不同的狀態(tài)的集合體;合體;例例1-2 結(jié)構(gòu)體引申為類結(jié)構(gòu)體引申為類struct Complex /結(jié)構(gòu)體結(jié)構(gòu)體 double real,im

12、ag; ;class Complex /類類 private: double real, imag; /數(shù)據(jù)成員數(shù)據(jù)成員 public: void Set(double r,double i) /成員函數(shù)成員函數(shù) real=r; imag=i; ;void main() Complex a,b; /a、b是是Complex類的實(shí)例變量類的實(shí)例變量 a.Set(4.0,6.0); /調(diào)用成員函數(shù)來實(shí)現(xiàn)消息發(fā)送調(diào)用成員函數(shù)來實(shí)現(xiàn)消息發(fā)送 b.Set(4.0,6.0); /同一消息可發(fā)向多個(gè)對(duì)象同一消息可發(fā)向多個(gè)對(duì)象三、封裝三、封裝數(shù)據(jù)封裝:將數(shù)據(jù)和處理數(shù)據(jù)的方法包裝成一個(gè)整體,數(shù)據(jù)封裝:將數(shù)據(jù)和處

13、理數(shù)據(jù)的方法包裝成一個(gè)整體,并將具體實(shí)現(xiàn)細(xì)節(jié)的數(shù)據(jù)信息和操作方法在結(jié)構(gòu)上隱藏并將具體實(shí)現(xiàn)細(xì)節(jié)的數(shù)據(jù)信息和操作方法在結(jié)構(gòu)上隱藏起來;起來;信息隱藏:將一個(gè)模塊的細(xì)節(jié)部分對(duì)用戶隱藏起來,信息隱藏:將一個(gè)模塊的細(xì)節(jié)部分對(duì)用戶隱藏起來,用戶只能通過一個(gè)受保護(hù)的接口來訪問某個(gè)模塊,而不用戶只能通過一個(gè)受保護(hù)的接口來訪問某個(gè)模塊,而不能直接訪問一個(gè)模塊內(nèi)部的細(xì)節(jié);能直接訪問一個(gè)模塊內(nèi)部的細(xì)節(jié);一個(gè)對(duì)象具有狀態(tài)、行為和標(biāo)識(shí)。一個(gè)對(duì)象具有狀態(tài)、行為和標(biāo)識(shí)。對(duì)象是一個(gè)狀態(tài)和操作或方法的封裝體;對(duì)象是一個(gè)狀態(tài)和操作或方法的封裝體;我的電路被封裝在機(jī)我的電路被封裝在機(jī)殼內(nèi)了!殼內(nèi)了!使用電話請(qǐng)按鍵!使用電話請(qǐng)按鍵!

14、公有成員人人小學(xué)生小學(xué)生 中學(xué)生中學(xué)生 大學(xué)生大學(xué)生研究生研究生工人工人學(xué)生學(xué)生教師教師農(nóng)民農(nóng)民四、承繼四、承繼 繼承將客觀世界中一般和特殊的關(guān)系模型繼承將客觀世界中一般和特殊的關(guān)系模型化為層次結(jié)構(gòu),提供了創(chuàng)建新類的一種方法,化為層次結(jié)構(gòu),提供了創(chuàng)建新類的一種方法,它的本質(zhì)特征是行為共享;它的本質(zhì)特征是行為共享;助教助教 講師講師 教授教授研究生研究生對(duì)象實(shí)例:對(duì)象實(shí)例: 研究生研究生 王王 平平人人身份證號(hào)碼:字符串身份證號(hào)碼:字符串18位)位)姓姓 名:字符串名:字符串20位)位)學(xué)生學(xué)生學(xué)校名稱:字符串學(xué)校名稱:字符串30位)位)學(xué)學(xué) 號(hào):字符串號(hào):字符串12位)位)研究生研究生專專 業(yè)

15、:字符串業(yè):字符串30位)位)入學(xué)年月日:結(jié)構(gòu)類型入學(xué)年月日:結(jié)構(gòu)類型Date作為作為“人人”身份證碼:身份證碼:420193201917042520姓姓 名:王名:王 平平作為作為“學(xué)生學(xué)生”學(xué)校名稱:中南民族大學(xué)學(xué)校名稱:中南民族大學(xué)學(xué)學(xué) 號(hào):號(hào):090701022作為作為“研究生研究生”專專 業(yè):自動(dòng)控制業(yè):自動(dòng)控制入學(xué)年月日:入學(xué)年月日:1/9/2021四、承繼續(xù)四、承繼續(xù)1) 繼承可增強(qiáng)代碼的可重用性繼承可增強(qiáng)代碼的可重用性,代碼的重用是代碼的重用是利用繼承基類的屬性和方法來實(shí)現(xiàn)的利用繼承基類的屬性和方法來實(shí)現(xiàn)的. 繼承某一基類的派生類可自動(dòng)繼承基類的繼承某一基類的派生類可自動(dòng)繼承基

16、類的全部屬性和方法全部屬性和方法. 增加派生類時(shí)增加派生類時(shí),即修改和擴(kuò)充程序時(shí)也不必即修改和擴(kuò)充程序時(shí)也不必修改原有程序代碼修改原有程序代碼,只需增加一些新的程序代碼只需增加一些新的程序代碼.四、承繼續(xù)四、承繼續(xù)2) 發(fā)出同樣的消息,被不同類型的對(duì)象接收發(fā)出同樣的消息,被不同類型的對(duì)象接收,導(dǎo)致完全不同的行為。,導(dǎo)致完全不同的行為。例:調(diào)用函數(shù)求兩個(gè)整型量或兩個(gè)雙精度型量例:調(diào)用函數(shù)求兩個(gè)整型量或兩個(gè)雙精度型量的最大值。的最大值。 int max(int ,int); double max(double,double);五、多態(tài)五、多態(tài)1.2C+對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)方法的支持對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)

17、方法的支持C+支持?jǐn)?shù)據(jù)封裝數(shù)據(jù)抽象)支持?jǐn)?shù)據(jù)封裝數(shù)據(jù)抽象) C+中,類是支持?jǐn)?shù)據(jù)封裝的工具,對(duì)中,類是支持?jǐn)?shù)據(jù)封裝的工具,對(duì)象則是數(shù)據(jù)封裝的實(shí)現(xiàn);象則是數(shù)據(jù)封裝的實(shí)現(xiàn); C+中包含有私有、公有和保護(hù)成員中包含有私有、公有和保護(hù)成員C+中通過發(fā)送消息來處理對(duì)象中通過發(fā)送消息來處理對(duì)象 每個(gè)可能的消息對(duì)應(yīng)一個(gè)相應(yīng)的方法,方每個(gè)可能的消息對(duì)應(yīng)一個(gè)相應(yīng)的方法,方法通過函數(shù)來定義;法通過函數(shù)來定義;C+中允許友元破壞封裝性中允許友元破壞封裝性C+中允許函數(shù)名和運(yùn)算符重載中允許函數(shù)名和運(yùn)算符重載C+支持繼承性支持繼承性C+支持動(dòng)態(tài)聯(lián)編支持動(dòng)態(tài)聯(lián)編1.3C+對(duì)對(duì)C語言的改進(jìn)語言的改進(jìn)增加了新的運(yùn)算符:增加了

18、新的運(yùn)算符::,new, delete等;等; (malloc, free)改進(jìn)了類型系統(tǒng),增加了安全性;改進(jìn)了類型系統(tǒng),增加了安全性;引進(jìn)了引用概念;引進(jìn)了引用概念;允許函數(shù)重載,允許設(shè)置缺省參數(shù),提高了允許函數(shù)重載,允許設(shè)置缺省參數(shù),提高了編程的靈活性;編程的靈活性;引進(jìn)了內(nèi)聯(lián)函數(shù),提高了程序的效率;引進(jìn)了內(nèi)聯(lián)函數(shù),提高了程序的效率;可以根據(jù)需要隨時(shí)對(duì)變量進(jìn)行說明;可以根據(jù)需要隨時(shí)對(duì)變量進(jìn)行說明;1.4C+程序的編輯、編譯和運(yùn)行程序的編輯、編譯和運(yùn)行源程序源程序.cpp目標(biāo)文件目標(biāo)文件.obj可執(zhí)行文可執(zhí)行文件件.exe編譯器編譯器連接器連接器磁盤中的磁盤中的#include文文件件C+庫

19、文庫文件件.LIB1.5 C+程序結(jié)構(gòu)的特點(diǎn)程序結(jié)構(gòu)的特點(diǎn)一、標(biāo)識(shí)符一、標(biāo)識(shí)符 組成規(guī)則:以字母或下劃線開始,其后跟零個(gè)或多組成規(guī)則:以字母或下劃線開始,其后跟零個(gè)或多個(gè)字母、數(shù)字或下劃線;個(gè)字母、數(shù)字或下劃線;標(biāo)識(shí)符的長度任意標(biāo)識(shí)符的長度任意區(qū)分字母的大小寫;區(qū)分字母的大小寫;不能使用系統(tǒng)的關(guān)鍵字;不能使用系統(tǒng)的關(guān)鍵字;C+系統(tǒng)關(guān)鍵字系統(tǒng)關(guān)鍵字二、預(yù)處理命令二、預(yù)處理命令宏定義宏定義文件包含文件包含條件編譯條件編譯關(guān)鍵字保留字)關(guān)鍵字保留字) 表表1-1C+的關(guān)鍵字的關(guān)鍵字P21autoboolbreakcasecatchcharclassconstconst_cast continue d

20、efaultdeletedodoubledynamic_cast else enumexplicitexternfalsefloatforfriendgotoifinlineintlongmutablenewoperator privateprotected publicregisterreinterpret_castreturnshortsignedsizeofstaticstatic_cast structswitchtemplate thisthrowtruetrytypedef typeidtypename unionunsigned virtualvoidvolatile while

21、三、輸入三、輸入/輸出流操作語句輸出流操作語句流操作:指數(shù)據(jù)從源點(diǎn)搬運(yùn)到終點(diǎn)的流動(dòng)操作。流操作:指數(shù)據(jù)從源點(diǎn)搬運(yùn)到終點(diǎn)的流動(dòng)操作。1、輸出運(yùn)算符插入符、輸出運(yùn)算符插入符inserting、putting) 數(shù)據(jù)的流動(dòng)數(shù)據(jù)的流動(dòng) 終點(diǎn)終點(diǎn) 源點(diǎn)源點(diǎn) cout(CRT顯示器顯示器)程序中的變量名或?qū)ο竺怀绦蛑械淖兞棵驅(qū)ο竺?同同printf()一樣,可以輸出轉(zhuǎn)義符;一樣,可以輸出轉(zhuǎn)義符;多個(gè)輸出操作可組合成一條語句;多個(gè)輸出操作可組合成一條語句;輸出運(yùn)算自動(dòng)識(shí)別數(shù)據(jù)類型,不需要以輸出運(yùn)算自動(dòng)識(shí)別數(shù)據(jù)類型,不需要以%開頭的格開頭的格式說明符。式說明符。例:例:int x;int y; cout

22、請(qǐng)輸入一個(gè)實(shí)數(shù):請(qǐng)輸入一個(gè)實(shí)數(shù):n; coutxy; coutn x =xt y= y程序中的變量名或?qū)ο竺?;程序中的變量名或?qū)ο竺?多個(gè)輸出操作可組合成一條語句;多個(gè)輸出操作可組合成一條語句;輸入運(yùn)算自動(dòng)識(shí)別數(shù)據(jù)類型,不需要以輸入運(yùn)算自動(dòng)識(shí)別數(shù)據(jù)類型,不需要以%開開頭的格式說明符。頭的格式說明符。例:例:cinxy;例例1-3 流操作示范程序流操作示范程序#include using namespace std;void main() double x,y; coutx; couty; double z=x+y; out”x+y=”zendl;I/O流庫,提供所流庫,提供所有的輸入輸出操作

23、有的輸入輸出操作cout:流類對(duì)象:流類對(duì)象:提取符:提取符endl:換行;:換行;結(jié)果:請(qǐng)輸入結(jié)果:請(qǐng)輸入x:43請(qǐng)輸入請(qǐng)輸入y:46x+y=89四、函數(shù)、語句及注釋四、函數(shù)、語句及注釋C+的源程序由若干個(gè)函數(shù)組成,函數(shù)間相互的源程序由若干個(gè)函數(shù)組成,函數(shù)間相互獨(dú)立;獨(dú)立;C+的源程序有且只能有一個(gè)的源程序有且只能有一個(gè)main();調(diào)用用戶定義函數(shù)必須定義好,調(diào)用系統(tǒng)標(biāo)調(diào)用用戶定義函數(shù)必須定義好,調(diào)用系統(tǒng)標(biāo)準(zhǔn)函數(shù)必須加相應(yīng)頭文件;準(zhǔn)函數(shù)必須加相應(yīng)頭文件;復(fù)合語句同復(fù)合語句同C語言一樣,語言一樣,括起來,稱為塊。括起來,稱為塊。注釋:兩種方法注釋:兩種方法/*/ 可放在程序區(qū)域的任何位置,可

24、占可放在程序區(qū)域的任何位置,可占多行多行/ 單行注釋單行注釋 1.6 Visual C+程序運(yùn)行步驟程序運(yùn)行步驟一、打開一、打開Visual C+開發(fā)環(huán)境主窗口開發(fā)環(huán)境主窗口二、創(chuàng)建一個(gè)空的項(xiàng)目二、創(chuàng)建一個(gè)空的項(xiàng)目 菜單命令:菜單命令:File / New 選項(xiàng)卡:選項(xiàng)卡:Projects / Win32 Console Application Location:指定路徑指定路徑 Project Name:指定項(xiàng)目名稱指定項(xiàng)目名稱三、建立源程序文件三、建立源程序文件 菜單命令:菜單命令:Project / Add to Project / New 選中選中C+ Source File,指定文件

25、名后單擊指定文件名后單擊OK四、存盤運(yùn)行四、存盤運(yùn)行 File / Save Build, Execute programm小結(jié)小結(jié) (1OOP以對(duì)象為核心,以抽象和歸類為基礎(chǔ),強(qiáng)調(diào)程序分層以對(duì)象為核心,以抽象和歸類為基礎(chǔ),強(qiáng)調(diào)程序分層分類的概念,克服了軟件復(fù)雜性,是將客觀世界的模型在計(jì)算機(jī)分類的概念,克服了軟件復(fù)雜性,是將客觀世界的模型在計(jì)算機(jī)中自然地表現(xiàn)出來的最好方法。中自然地表現(xiàn)出來的最好方法。 (2OOP將一種數(shù)據(jù)結(jié)構(gòu)和操作該數(shù)據(jù)結(jié)構(gòu)的方法捆在一起,將一種數(shù)據(jù)結(jié)構(gòu)和操作該數(shù)據(jù)結(jié)構(gòu)的方法捆在一起,封裝在一個(gè)程序?qū)嶓w內(nèi),從而實(shí)現(xiàn)了數(shù)據(jù)封裝和信息隱藏。通常,封裝在一個(gè)程序?qū)嶓w內(nèi),從而實(shí)現(xiàn)了數(shù)據(jù)封裝和信息隱藏。通常,用數(shù)據(jù)成員描述某類的屬性,用成員函數(shù)描述行為。用數(shù)據(jù)成員描述某類的屬性,用成員函數(shù)描述行為。 (3對(duì)象、消息傳遞機(jī)制和以繼承為基礎(chǔ)的類層次結(jié)構(gòu)是面向?qū)ο蟆⑾鬟f機(jī)制和以繼承為基礎(chǔ)的類層次結(jié)構(gòu)是面向?qū)ο蟪绦蛟O(shè)計(jì)的三個(gè)要點(diǎn)。對(duì)象程序設(shè)計(jì)的三個(gè)要點(diǎn)。 (4對(duì)象是抽象數(shù)據(jù)類型的實(shí)現(xiàn),根據(jù)要達(dá)到的目的描述客觀對(duì)象是抽象數(shù)據(jù)類型的實(shí)現(xiàn),根據(jù)要達(dá)到的目的描述客觀實(shí)體的抽象化的模型,抽象出與目的相關(guān)的主要信息,忽略掉一實(shí)體的抽象化的模型,抽象出與目的相關(guān)的主要信息,忽略掉一些次要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論