• <span id="qootd"></span>
      1. <track id="qootd"></track><acronym id="qootd"></acronym>

        C++是C語言的升級版。C++保留了C語言原有的所有優點,并增加了面向對象的機制。

        C++是由C發展而來的,與C兼容。用C語言寫的程序基本上可以不加修改地用于C++。從C++的名字可以看出它是C的超集。C++既可用于面向過程的結構化程序設計,又可用于面向對象的程序設計,是一種功能強大的混合型的程序設計語言。

        C++中最重要的一個概念就是”類“,有了類才有面向對象的程序設計。“類”是學習C++語言的核心,是C++初學者必須要攻克的難關。C語言中沒有類,因此,概念上是一個飛躍。

        書寫風格

        標準C語言(ANSI C)的注釋只能是“/* ... */”,C++的注釋可以是”/*…*/“或”//“。C語言代碼中雖然也可以使用”//“,是因為目前很多C語言編譯器也是C++編譯器。

        如果函數沒有參數,C語言建議使用void,而C++建議不寫。

        C語言代碼:

        1. /* 在C語言中,嵌套注釋是錯誤的 */
        2. /*
        3. int myFunc(int x, int y) {
        4. int width; /* 寬度 */
        5. int height; /* 寬度 */
        6. /* Some Code */
        7. }
        8. */
        9.  
        10. /* C語言中沒有參數的定義(推薦) */
        11. void myFunc(void) {
        12. /* Some Code */
        13. }


        C++代碼:

        1. // C++多行注釋內可以有單行注釋
        2. /*
        3. int myFunc(int x, int y) {
        4. int width; //寬度
        5. int height; //寬度
        6. // Some Code
        7. }
        8. */
        9.  
        10. // C++語言中沒有參數的定義(推薦)
        11. void myFunc() {
        12. // Some Code
        13. }

        變量和函數原型的申明

        C語言中函數的原型申明是被建議的,但調用處后面的函數的確可以不申明。C++中則不論函數定義的先后,必須事先申明。另一方面,局部變量的定義,C語言要求必須在函數體的開始部分,某一語句之后再定義變量是錯誤的,而C++則沒有這一限制。

        C語言代碼:

        1. // void myFunc(void) // C語言中這句省略不出錯
        2.  
        3. void myFunc(void)
        4. {
        5. for (int i=0; i<10; i++) // 出錯。i 定義要放在for前面
        6. // Some Code
        7. }
        8. }
        9.  
        10. int main(void)
        11. {
        12. myFunc();
        13. int x = 0; //出錯。應放在myFunc();之前
        14.  
        15. return x ;
        16. }


        C++代碼:

        1.  void myFunc(void) //C++語言中這句不能省略
        2. void myFunc(void)
        3. {
        4. for (int i=0; i<10; i++) { //C++中不出錯
        5. // Some Code
        6. }
        7. }
        8.  
        9. int main(void)
        10. {
        11. myFunc();
        12. int x = 0; //C++中不出錯
        13.  
        14. return x ;
        15. }

        其它不同點

        C++語言是C語言擴展而來,C程序自然可以直接使用,但的確仍有一些不同之處。

        C語言中,字符常量被當作整數,而C++語言中不是,字符常量就當作字符。這雖然很小,但卻是重要的一點。

        C語言中全局變量多次定義雖不好,卻不出錯。C++語言中則出錯。

        C語言命名限制在31個有效字符,C++語言中沒有限制,但太長了使用不方便。

        C語言中main()函數也能被調用,當然這不是好方法。C++語言中main()被禁止調用。

        C語言中不能取寄存器變量的地址,C++語言中可以。

        C語言中沒有bool類型,wchar_t是宏定義,C++語言中,增加了bool基本類型和wchar_t擴展類型。

        C語言中用結構體定義變量時,“struct 結構體名 變量名”,在C++中“struct”可以省略。

        C++語言的新舊版本

        C++語言自身也在發展,新舊版本的寫法上也有所不同。我們的教程并不討論語言的發展過程,所以只講新內容。這也是與時俱進吧。

        C++中還有一個重要新增概念是”名字空間“。名字空間是防止名稱沖突而申明的“領域”,打個比方,C盤中文件增多就有可能有相同的文件名,這樣我們就必須用目錄來管理,將相同文件名放在不同的目錄里就可以了。當目錄名逐漸增加,也有重復名稱時,一是再增加父目錄,另一辦法就是將相同目錄名放在不同的盤符下。有關名字空間將在下節專門講解。

        舊版本C++的寫法:

        1. #include <iostream.h> //“.h”不能少
        2.  
        3. int main(void)
        4. {
        5. // Some Code
        6. }


        新版本C++的寫法

        1.  #include <iostream>
        2. using namespace std; // 命名空間是必須的
        3.  
        4. int main()
        5. {
        6. // Some Code
        7. }

        控制臺的輸入輸出

        C語言的控制臺輸入輸出是用函數來實現的,最常用的是printf()和scanf()函數。C++語言中一般使用運算符“<<”和“>>”,這比C語言中的函數的功能更強大、更方面,下面只介紹基本使用,更強大的功能要等學完了“類”之后才講解,這樣更容易理解。

        C語言中運算符“<<”和“>>”是位操作運算符,C++中仍然有效,而用作輸入出時,最前面必須是cin或cout,表示從控制臺輸入或輸出,cin和cout是C++定義好的輸入出流。輸出時當需要回車時,可以用“\n”,也可以用“endl”。

        1. #include <iostream>
        2. #include <string>
        3. using namespace std;
        4.  
        5. int main ( )
        6. {
        7. int i, j;
        8. double d;
        9. string s; // C++中新增 string 類型
        10.  
        11. i = 10;
        12. d = 123.45;
        13. s = "http://see.xidian.edu.cn/cpp/biancheng/cpp/rumen/";
        14.  
        15. cout << "請輸入一個整數:";
        16. cin >> j;
        17. cout << "i=" << i << "\n";
        18. cout << "j=";
        19. cout << j;
        20. cout << endl;
        21. cout << "d=" << d << endl;
        22. cout << s << endl;
        23.  
        24. return 0;
        25. }

        運行輸出:
        請輸入一個整數:i=10
        j=134541813
        d=123.45
        http://see.xidian.edu.cn/cpp/biancheng/cpp/rumen/

        免責聲明:本文僅代表作者個人觀點,著作權歸作者所有。其原創性以及文中陳述文字和內容(包括圖片、視頻、附件等)未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請用戶僅作參考,并請自行核實相關內容。轉載作品務請注明出處,機構云平臺、個人云空間的建設權、管理權、所有權均歸實名機構和實名師生所有,與世界大學城無關。
        標簽:C++與C語言的區別
        還能輸入 2000 個html字符
        色偷偷