
- C++基礎
- C++首頁
- C++概述
- C++環境設定
- C++基本語法
- C++註釋
- C++ Hello World
- C++省略名稱空間
- C++常量/字面量
- C++關鍵字
- C++識別符號
- C++資料型別
- C++數值資料型別
- C++字元資料型別
- C++布林資料型別
- C++變數型別
- C++變數作用域
- C++多個變數
- C++基本輸入/輸出
- C++修飾符型別
- C++儲存類
- C++運算子
- C++數字
- C++列舉
- C++引用
- C++日期與時間
- C++控制語句
- C++決策機制
- C++ if 語句
- C++ if else 語句
- C++巢狀 if 語句
- C++ switch 語句
- C++巢狀 switch 語句
- C++迴圈型別
- C++ while 迴圈
- C++ for 迴圈
- C++ do while 迴圈
- C++ foreach 迴圈
- C++巢狀迴圈
- C++ break 語句
- C++ continue 語句
- C++ goto 語句
- C++建構函式
- C++建構函式與解構函式
- C++複製建構函式
C++基本語法
當我們考慮一個C++程式時,它可以定義為一個透過呼叫彼此方法來通訊的物件集合。現在讓我們簡要了解一下類、物件、方法和例項變數的含義。
-
物件 − 物件具有狀態和行為。例如:狗具有狀態(顏色、名稱、品種)以及行為(搖尾、吠叫、吃東西)。物件是類的例項。
-
類 − 類可以定義為一個模板/藍圖,它描述了其型別物件支援的行為或狀態。
-
方法 − 方法基本上是一種行為。一個類可以包含許多方法。在方法中編寫邏輯,操作資料,並執行所有操作。
-
例項變數 − 每個物件都有自己獨特的一組例項變數。物件的狀體是由分配給這些例項變數的值建立的。
C++程式結構
C++程式的基本結構包含以下部分
- 標頭檔案包含部分:這是我們包含所有所需標頭檔案的部分,我們將在這個程式中使用這些標頭檔案的函式。
- 名稱空間部分:這是我們使用名稱空間的部分。
- main()部分:在這個部分,我們編寫我們的主程式碼。main()函式是任何C++程式設計程式碼的入口點,程式的執行從此處開始。
要了解更多資訊,請閱讀:C++ Hello, World 程式。
示例
讓我們來看一段簡單的程式碼,它將列印單詞Hello World。
#include <iostream> using namespace std; // main() is where program execution begins. int main() { cout << "Hello World"; // prints Hello World return 0; }
示例解釋
讓我們看看上面程式的各個部分:
C++語言定義了幾個標頭檔案,其中包含程式必需或有用的資訊。對於此程式,需要標頭檔案<iostream>。
語句using namespace std;告訴編譯器使用std名稱空間。名稱空間是最近才新增到C++中的。
下一行 '// main() is where program execution begins.' 是C++中可用的單行註釋。單行註釋以//開頭,到行尾結束。
語句int main()是程式執行開始的主函式。
下一行cout << "Hello World";導致訊息“Hello World”顯示在螢幕上。
下一行return 0;終止main()函式,並將其值0返回給呼叫程序。
編譯和執行C++程式
讓我們看看如何儲存檔案、編譯和執行程式。請按照以下步驟操作:
開啟文字編輯器並新增上述程式碼。
將檔案儲存為:hello.cpp
開啟命令提示符並轉到儲存檔案的目錄。
鍵入“g++ hello.cpp”並按Enter鍵編譯程式碼。如果程式碼中沒有錯誤,命令提示符將帶您進入下一行,並將生成a.out可執行檔案。
現在,鍵入“a.out”執行程式。
您將能夠看到視窗上列印的“Hello World”。
$ g++ hello.cpp $ ./a.out Hello World
確保g++在您的路徑中,並且您在包含檔案hello.cpp的目錄中執行它。
您可以使用makefile編譯C/C++程式。有關更多詳細資訊,您可以檢視我們的“Makefile 教程”。
C++中的分號和塊
在C++中,分號是語句終止符。也就是說,每個單獨的語句都必須以分號結尾。它表示一個邏輯實體的結束。
例如,以下是三個不同的語句:
x = y; y = y + 1; add(x, y);
塊是一組邏輯上連線的語句,它們被起始和結束大括號包圍。例如:
{ cout << "Hello World"; // prints Hello World return 0; }
C++不識別行尾作為終止符。因此,您在一行中放置語句的位置無關緊要。例如:
x = y; y = y + 1; add(x, y);
與以下相同
x = y; y = y + 1; add(x, y);
C++識別符號
C++識別符號是用於標識變數、函式、類、模組或任何其他使用者定義項的名稱。識別符號以字母A到Z或a到z或下劃線(_)開頭,後跟零個或多個字母、下劃線和數字(0到9)。
C++不允許在識別符號中使用@、$和%等標點符號。C++是一種區分大小寫的程式語言。因此,Manpower和manpower在C++中是兩個不同的識別符號。
以下是一些可接受的識別符號示例:
mohd zara abc move_name a_123 myname50 _temp j a23b9 retVal
C++關鍵字
以下列表顯示了C++中的保留字。這些保留字不能用作常量或變數或任何其他識別符號名稱。
asm | else | new | this |
auto | enum | operator | throw |
bool | explicit | private | true |
break | export | protected | try |
case | extern | public | typedef |
catch | false | register | typeid |
char | float | reinterpret_cast | typename |
class | for | return | union |
const | friend | short | unsigned |
const_cast | goto | signed | using |
continue | if | sizeof | virtual |
default | inline | static | void |
delete | int | static_cast | volatile |
do | long | struct | wchar_t |
double | mutable | switch | while |
dynamic_cast | namespace | template |
三元組
一些字元具有替代表示形式,稱為三元組序列。三元組是一個三字元序列,它表示單個字元,並且該序列總是以兩個問號開頭。
三元組在任何出現的地方都會被擴充套件,包括字串文字和字元文字、註釋和預處理器指令中。
以下是最常用的三元組序列:
三元組 | 替換 |
---|---|
??= | # |
??/ | \ |
??' | ^ |
??( | [ |
??) | ] |
??! | | |
??< | { |
??> | } |
??- | ~ |
並非所有編譯器都支援三元組,並且由於其令人困惑的性質,建議不要使用它們。
C++中的空白
僅包含空白(可能帶有註釋)的行稱為空行,C++編譯器會完全忽略它。
空白是C++中用於描述空格、製表符、換行符和註釋的術語。空白將語句的一個部分與另一部分隔開,並使編譯器能夠識別語句中一個元素(如int)的結束和下一個元素的開始。
語句1
int age;
在上例語句中,int和age之間必須至少有一個空白字元(通常是空格),以便編譯器能夠區分它們。
語句2
fruit = apples + oranges; // Get the total fruit
在上面的語句2中,fruit和=之間,以及=和apples之間不需要空格字元,儘管為了可讀性,您可以隨意新增一些空格。
面向物件方法的C++程式結構
C++除了支援程序式程式設計方法外,還支援面向物件程式設計方法。
示例
此示例演示基於面向物件方法的C++程式。
#include <iostream> using namespace std; class Numbers { private: int a; int b; public: // Function to set values void setValues(int x, int y) { a = x; b = y; } // Function to add these numbers double addition() { return a + b; } // Function to display values void display() { cout << "a: " << a << ", b: " << b << endl; } }; int main() { // Create an object of Numbers class Numbers num; // Set values num.setValues(10, 20); // Display the values num.display(); // Find the addition int sum = num.addition(); cout << "Sum of numbers: " << sum << endl; return 0; }
面向物件方法的C++程式結構的組成部分
採用面向物件方法的C++程式結構的不同部分如下所示
1. 類宣告
一個類是物件的模板,或者可以說類是生產物件的工廠。它是一種自定義資料型別,用於構建物件的結構。
類宣告包含以下部分
- 訪問修飾符:C++支援三種類型的訪問修飾符:private(私有)、public(公有)和protected(保護)。資料成員和成員函式的可訪問性由訪問修飾符定義。
- 資料成員和成員函式:在類宣告中使用的變數稱為資料成員,成員函式是在資料成員上操作的函式。
示例
根據上述示例,類宣告的以下部分:
class Numbers { private: int a; int b; public: // Function to set values void setValues(int x, int y) { a = x; b = y; } // Function to add these numbers double addition() { return a + b; } // Function to display values void display() { cout << "a: " << a << ", b: " << b << endl; } };
以下是定義在private訪問修飾符下的資料成員,即這些資料成員可以被類內的成員函式使用:
private: int a; int b;
以下是類中使用的成員函式:
void setValues(int x, int y); double addition(); void display();
2. 物件建立
在上例中,以下語句是物件建立語句:
Numbers num;