天天看點

2.C++程式設計基礎2

作者:flowers_love

2.3 使用C++語言編寫簡單代碼

C++語言經過不斷的發展,程式編寫主要有 4個主要思路,面向過程的C語言,面向對象的C++語言,SDK (Software Development Kit) 程式設計和 MFC(Microsoft Foundation Class)程式設計。

2.3.1 面向過程的C語言

C語言功能非常強大,Linx/UNIX作業系統是用C 語言寫的,C 語言直接調用操作系提供的API函數可以編寫非常強大的程式。

C和C+的最主要差別是C 語中沒有類的概念,C在C的文法基礎上引入了類(Class),是以C+和C的文法基本相同。最基本的C程式如201.cpp 所示。

//201.cpp

#include<stdio.h>

int main()

{

printf(“最基本的C \n”);

return 0;

}

201.cpp 的運作結果如圖2-10所示

2.C++程式設計基礎2

如圖2-10

圖2-1 最基本C程式的運作結果

程式解釋在C語言中,基本輸入輸出庫是“stdio.h”,使用 printf指令輸出字元串。利用“\n”來輸出換行符。

2.3.2面向過程的 C++語言

磁盤作業系統(Disk Operating System,DOS)指令中,使用 Copy 指令的基本文法是“Copy a.txt b.txt”,其中a.txt 和 b.txt 是指令行參數,利用C語言編寫的程式可以讀取指令行參數。

main 函數是程式的主函數,程式執行的時候先從 main 函數開始。該函數可以帶參數第一個參數是int型的,第二個參數是字元指針,具體使用方法如202.cpp所示。

//案例名稱——讀取指令行參數程式名稱

//202.cpp

#include<iostream.h>

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

{

int i;

for( i=1; i<argc; i++)

{

Cout<<argv[i]<<endl;

}

Return 0;

}

參照202.cpp 的配置方式編譯程式,直接執行程式,沒有任何輸出,執行結果布圖2-12 所示。

2.C++程式設計基礎2

圖2-12

2.C++程式設計基礎2

圖 2-13

DEBUG 目錄下,找到“202.exe”檔案,将該檔案複制到C槽根目錄下。然後技行指令“202 今天 明天 後天 大後天 …“執行結果如圖 2-13 所示

圖2-2 執行結果

圖2-3 執行結果

程式解釋:第4行“int main(int argc, char *argv[ ])”。在 main 函數中定義兩個參數 argc 和 argv,其中 argc 存儲的是令行參數的個數,指令的本身也是參數,argv 數組存儲指令行各個參數的值。

第5行:“for(i=l;i<argc;i++)”。若輸入202 今天 明天 後天 大後天 …“,那麼包括指令名稱參數是4個,則argc 為4。其中第一個參數 ”今天“在數組中的下标是 1,參數 202下标是0 。

2.3.3 面向對象的 C++語言

面向對象程式設計語言可以将一些變量和函數封裝到類(Class)中,當變量被類封裝後稱之為類的屬性或者資料成員;當函數被類封裝後,稱之為方法或者成員函數。

定義好一個類,然後建立類的執行個體,這個執行個體就叫作對象。用類定義對象,使用方法如程式 203.cpp 所示。

//案例名稱:在 C++ 中使用類

//程式名稱:203.cpp

#include<iostream>

using namespace std;

class person

{

public:

int heart;

char *name;

int run( )//要定義成員函數 run()

{

heart=heart+20;

return heart;

}

};

int main( )

{

int iRunStop;

person xx;

xx.name="xxxxx";

xx.heart=72;

cout<<"姓名"<<xx.name<<endl;

cout<<"跑步前心跳"<<xx.heart<<endl;

//run( )為對象的方法

iRunStop=xx.run();

cout<<"跑步後心跳"<<iRunStop<<endl;

return 0;

}

2.C++程式設計基礎2

圖 2-14

編譯程式,執行結果如圖 2-14 所示。

圖2-4 執行結果

程式解釋:第5行:“class person”定義一個類,類名是 person。第6行:“public:”定義屬性和方法的通路類别,public 是公有的意思,可以在定義的對象中通路 public下的屬性和方法。除了public 還有 private 和 protected 修飾符。

第7行:“int run( )”定義一個方法,該方法将屬 heat 加上20,并将屬性 heart 作為回值。第18行:“person xx;”利用 person 類定義了一個對象 xx第19 行:“xx.name="張三",”給對象 xx 的屬性 name 指派第22行:“iRunStop=xx.run();”調用對象 xx 的方法 run,并将傳回值賦戀量 iRunStop。

在該程式中将類的定義和實作放在同一個檔案中,在一般的工程化項目中,都将類的定義和實作放在不同的檔案中,類的定義和實作分别放在擴充名為 h 和 pp 檔案中。編寫實作檔案 (cpp 檔案) 如程式 205.cpp 所示。

//案例名稱:類的定義和實作分離

//程式名稱: 205.CPP

#include<iostream.h>

#include"proj2 05.h"

int person::run() //定義成員函數 run()

{

heart=heart+20;

return heart;

}

void main()

{

int iRunStop;

person xx;

xx.name="xxxxx”;

xx.heart=72;

cout<<"姓名:”<<xx.name<<endl;

cout<<"跑步前心跳"<<xx.heart<<endl;

//run()為對象的方法

iRunStop=xx.run();

cout<<"跑步後心跳"<<iRunStop<<endl;

return 0;

}

然後再建立個項目檔案,找到形成類的子產品,并且類的名字定義成“頭檔案.h”,點選确定,系統自動形成 頭檔案.h 檔案,自動形成的頭檔案裡要輸入一下内容的程式:

//案例名稱:類的定義和實作分類

//程式名稱:頭檔案.h

class person

{

public:

int heart;

char *name;

int run();//要定義成員函數 run()

};

程式解釋:205.cpp 中需要解釋的有兩個地方。

第2行:“#include"205.h"”和“#include<iostream>”不同,同樣引入的是頭檔案用“<>”符号是因為 iostream不在目前 pp 檔案所在的目錄下,而需要到編譯器的系統目下去找,用雙引号是因為 205.h 是自己編寫的頭檔案,而且在 cpp 檔案所在的目前目下。一般系統提供的頭檔案用符号“<”,使用者自己編寫的頭檔案用雙引号。

第3行:“int person::run()”功能是定義了 person 類的方法 run,因為是在類的外面定義的是以需要使用類限定符号“::”來指定run方法屬于哪個類。

繼續閱讀