編程之前,有必要復習一下C++中面向對象的一些基本概念,C++與C相比有許多優點,主要體現在封裝性、繼續性和多態性。封裝性把數據與操作數據的函數組織在一起,不僅使程序結構更加緊湊。
並且提高了類內部數據的安全性;繼續性增加了軟件的可擴充性及代碼重用性;多態性使設計人員在設計程序時可以對問題進行更好的抽象,有利於代碼的維護和可重用。Visual C++不僅僅是一個編譯器,更是一個全面的應用程序開發環境,讀者可以充分利用具有面向對象特性的C++語言開發出專業級的Windows應用程序。熟練把握本章的內容,將為後續章節的學習打下良好的基礎。
在C++語言中,我們可以定義結構體類型,將多個相關的變量包裝為一個整體使用。在結構體中的變量,可以是相同、部分相同,或完全不同的數據類型。在C語言中,結構體不能包含函數。在面向對象的程序設計中,對象具有狀態和行為。
狀態保存在成員變量中,行為通過成員方法來實現。C++語言中的結構體只能描述一個對象的狀態,不能描述一個對象的行為。在C++中,對結構體進行了擴展,C++的結構體可以包含函數。
下面我們看看如例1所示的程序:
在這段程序中,我們定義了一個結構體point,在這個結構體當中,定義了兩個整型的變量,作為一個點的X坐標和Y坐標。在main函數中,定義了一個結構體的變量pt,對pt的兩個成員變量進行賦值,然後調用C++語言的輸出流類的對象cout將這個點的坐標輸出。
在C++中預定義了三個標准輸入輸出流對象:cin、cout和cerr。cin與輸入操作符一起用於從標准輸入讀入數據,cout與輸出操作符一起用於輸出數據到標准輸出上,cerr與輸出操作符一起用於輸出錯誤到標准錯誤上。默認的標准輸入通常為鍵盤。
默認的標准輸出和標准錯誤輸出通常為顯示器。cin和cout的使用比C語言中的scanf和printf要簡單得多。使用cin和cout你不需要去考慮輸入和輸出的數據的類型,cin和cout可以自動根據數據的類型調整輸入輸出的格式。